@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700&display=swap');
:root{--ink:#233f32;--muted:#666b66;--accent:#976027;--paper:#fff;--surface:#f4f5f2;--border:#e1e3dd;--serif:Georgia,'Times New Roman',serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.6 var(--sans)}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:400;line-height:1.08;letter-spacing:-.045em}h1 em,h2 em{font-weight:400;color:var(--accent)}h2{font-size:clamp(2.5rem,4vw,4rem);margin-bottom:0}h3{font-weight:500;font-size:1.35rem;line-height:1.4}p{color:var(--muted)}:focus-visible{outline:3px solid var(--accent);outline-offset:6px}.skip{position:fixed;top:-100px;left:10px;z-index:100;background:var(--ink);color:#fff;padding:10px}.skip:focus{top:10px}.header{height:100px;display:flex;align-items:center;justify-content:space-between;padding:0 5.2%;border-bottom:1px solid var(--border);background:#faf8ef;position:relative;z-index:20}.brand{display:flex;align-items:center;gap:14px}.monogram{font:2.6rem/1 var(--serif);letter-spacing:-.14em;white-space:nowrap}.monogram>span{color:var(--accent);margin-left:3px}.brand-text{font:1.55rem/1.1 var(--serif);letter-spacing:-.02em;color:var(--ink)}.brand-text small{display:block;font:.67rem/1.5 var(--sans);letter-spacing:.16em;color:var(--ink);margin-top:9px}nav{display:flex;gap:32px;align-items:center;font-size:.88rem}nav>a:hover{color:var(--accent)}.nav-cta{border:1px solid var(--ink);padding:12px 20px;margin-left:18px}.nav-cta span{margin-left:22px}.menu{display:none}.hero{display:grid;grid-template-columns:46% 54%;min-height:650px;max-width:1920px;margin:auto}.hero-copy{padding:80px 7% 60px 11.3%;display:flex;flex-direction:column;justify-content:center}.eyebrow{font-size:.75rem;letter-spacing:.16em;line-height:1.6;font-weight:500;color:var(--accent);margin-bottom:25px}.hero .eyebrow{display:flex;align-items:center;gap:13px;font-size:.72rem;white-space:nowrap}.line{height:1px;width:30px;background:var(--accent)}h1{font-size:clamp(3.5rem,5.7vw,6rem);margin:0 0 27px;line-height:1.07}.intro{font-size:1rem;line-height:1.8;max-width:360px;margin-bottom:30px}.hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.button{min-height:54px;padding:15px 24px;display:inline-flex;align-items:center;justify-content:center;gap:35px;font-size:.88rem;font-weight:500;transition:background .2s,color .2s}.dark{background:var(--ink);color:#fff}.dark:hover{background:#345741}.text-link{font-size:.88rem;border-bottom:1px solid var(--accent);padding:8px 0}.text-link span{margin-left:12px}.hero-note{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:.75rem;margin-top:42px}.small-symbol{font-size:1.5rem;color:var(--accent)}.hero-photo{position:relative;min-width:0;overflow:hidden}.hero-photo>img{height:100%;position:absolute;object-position:51% 50%}.photo-caption{position:absolute;top:27px;left:30px;right:30px;display:flex;align-items:center;justify-content:space-between;color:#fff;font-size:.7rem;letter-spacing:.1em;text-shadow:0 1px 8px #000;background:#24282466;padding:10px 13px}.photo-caption>span:last-child{letter-spacing:0;font-size:.84rem}.experience{position:absolute;left:0;bottom:0;background:var(--ink);padding:28px 38px;display:flex;align-items:center;gap:22px;color:#fff}.experience>strong{font-family:var(--serif);font-weight:400;font-size:3.8rem;line-height:1}.experience strong>span{color:#b49977;font-size:2.5rem}.experience>span{font-size:.85rem;line-height:1.6;color:#dadfd4}.promise{display:flex;justify-content:space-between;gap:30px;border-bottom:1px solid var(--border);padding:25px 5.2%;color:var(--muted);font-size:.8rem}.promise span+span:before{content:'+';color:var(--accent);margin-right:40px}.section{padding:105px 7%;max-width:1600px;margin:auto;scroll-margin-top:20px}.section-top{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin-bottom:55px}.section-top>p{max-width:320px;font-size:.95rem;margin-bottom:4px}.section-top .eyebrow{margin-bottom:20px}.offer-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--border)}.offer-grid article{padding:35px 35px 0 0;min-width:0}.offer-grid article+article{padding-left:35px;border-left:1px solid var(--border)}.offer-number{display:block;color:var(--accent);font-size:.85rem;margin-bottom:22px}.offer-grid h3{margin-bottom:15px}.offer-grid p{font-size:.9rem;line-height:1.8;max-width:315px;margin-bottom:24px}.offer-grid a{font-size:.8rem;display:flex;justify-content:space-between;gap:12px;font-weight:500}.offer-grid a:hover{color:var(--accent)}.portfolio{background:var(--surface);max-width:none}.portfolio>.section-top,.gallery,.gallery-extra{max-width:1376px;margin-left:auto;margin-right:auto}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:45px 32px}.project{border:0;background:none;padding:0;text-align:left}.project-photo{position:relative;overflow:hidden;height:420px}.project-photo>img{height:100%;transition:transform .6s;object-position:center 48%}.project:hover img{transform:scale(1.035)}.zoom{position:absolute;bottom:18px;right:18px;background:#fff;color:var(--ink);width:42px;height:42px;display:grid;place-items:center;font-size:1.35rem}.project-info{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-top:18px}.project-info strong{font-size:1.1rem;font-weight:500}.project-info small{font-size:.65rem;color:var(--muted);letter-spacing:.09em;text-align:right}.gallery-extra{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:46px}.gallery-extra button{padding:0;border:0;background:none;overflow:hidden}.gallery-extra img{height:235px;transition:transform .5s}.gallery-extra button:hover img{transform:scale(1.04)}.about{display:grid;grid-template-columns:1fr 1fr;max-width:1600px;margin:0 auto;padding:100px 7%;gap:90px;align-items:center;scroll-margin-top:20px}.about-image{position:relative}.about-image img{height:570px;object-position:50% 46%}.about-image>span{position:absolute;bottom:0;left:0;right:0;padding:22px;color:#fff;background:#242824cc;letter-spacing:.12em;font-size:.68rem}.about-copy h2{margin-bottom:30px}.about-copy>p:not(.eyebrow){font-size:.95rem;line-height:1.9}.about-signature{margin-top:33px;border-top:1px solid var(--border);padding-top:25px}.about-signature>span{display:block;font-family:var(--serif);font-style:italic;font-size:1.7rem}.about-signature small{font-size:.65rem;letter-spacing:.18em;color:var(--accent)}.process{padding-top:10px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;border-top:1px solid var(--border);padding-top:30px}.steps span{color:var(--accent);font-size:.85rem;display:block;margin-bottom:20px}.steps h3{margin-bottom:15px}.steps p{font-size:.9rem;max-width:330px}.reviews{background:var(--surface);max-width:none}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;max-width:1376px;margin:auto}.review-grid article{display:flex;flex-direction:column;background:#fff;padding:35px 30px}.stars{color:var(--accent);letter-spacing:.15em;font-size:1rem}.review-grid blockquote{font-family:var(--serif);line-height:1.65;font-size:1.12rem;margin:22px 0 30px;flex:1}.review-author{display:flex;align-items:center;gap:12px}.avatar{width:39px;height:39px;background:var(--surface);display:grid;place-items:center;font-size:.75rem;color:var(--accent)}.review-author strong{display:block;font-weight:500;font-size:.85rem}.review-author small{display:block;font-size:.7rem;color:var(--muted);margin-top:2px}.contact{display:grid;grid-template-columns:1.5fr 1fr;gap:10%;background:var(--ink);color:#fff;max-width:none}.contact .eyebrow{color:#b9a384}.contact h2{font-size:clamp(2.5rem,4vw,4rem);margin-bottom:25px}.contact h2 em{color:#c9b18f}.contact p{color:#bbc2b7;max-width:465px;font-size:.95rem}.contact-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin-top:30px}.light{background:#fff;color:var(--ink)}.light:hover{background:#ddd7ca}.contact-secondary{font-size:.84rem;border-bottom:1px solid #859080;padding:8px 0}.contact-details{align-self:center;border-left:1px solid #50564e;padding-left:50px}.contact-details h3{font-size:1.5rem;margin-bottom:15px}.contact-details .eyebrow{margin-bottom:18px}.contact-details>a{font-size:.85rem;border-bottom:1px solid #859080;padding-bottom:6px}.area{margin-top:40px}.area small{font-size:.7rem;letter-spacing:.13em;color:#b9a384}.area p{font-size:.85rem;margin-top:10px;margin-bottom:0}footer{padding:36px 5.2%;display:flex;align-items:center;justify-content:space-between;gap:25px}footer>span,footer>a:last-child{font-size:.75rem;color:var(--muted)}footer .monogram{font-size:2.2rem}footer .brand-text{font-size:.7rem}footer .brand-text small{font-size:.63rem}.lightbox{border:0;background:#171b17;color:white;padding:35px;width:min(92vw,1100px);max-height:94dvh;overflow:auto}.lightbox::backdrop{background:#101410e8}.lightbox>img{width:100%;height:min(70dvh,750px);object-fit:contain}.lightbox>p{color:#fff;text-align:center;font-size:.9rem;margin:12px 0}.close-lightbox{position:absolute;right:10px;top:5px;color:#fff;border:0;background:#242824;font-size:1.8rem;width:40px;height:40px}.lightbox-controls{display:flex;justify-content:center;align-items:center;gap:30px;font-size:.8rem}.lightbox-controls button{border:1px solid #666;background:none;color:#fff;width:42px;height:38px}
@media(min-width:1450px){.hero{min-height:760px}.hero-copy{padding-top:100px;padding-bottom:90px}.project-photo{height:490px}}
@media(max-width:1100px){.header{height:90px}nav{gap:18px}.nav-cta{margin-left:0;padding:10px 14px}.nav-cta span{margin-left:10px}.brand-text{font-size:.75rem}.hero-copy{padding:65px 8% 55px 10%}h1{font-size:4rem}.hero{min-height:610px}.hero .eyebrow{font-size:.65rem;white-space:normal}.hero-actions{gap:15px}.hero-note{font-size:.7rem}.promise{gap:20px}.promise span+span:before{margin-right:18px}.section{padding:80px 6%}.project-photo{height:350px}.project-info{display:block}.project-info small{display:block;margin-top:4px;text-align:left}.gallery-extra img{height:190px}.about{gap:45px;padding:80px 6%}.about-image img{height:520px}.process{padding-top:10px}.review-grid{gap:18px}.review-grid article{padding:25px}.contact{gap:6%}.contact-details{padding-left:30px}}
@media(max-width:780px){html{scroll-padding-top:20px}.header{height:80px;padding:0 6%}.brand-text{font-size:.7rem}.brand-text small{font-size:.6rem}.monogram{font-size:2.3rem}.menu{display:flex;flex-direction:column;justify-content:center;gap:6px;width:44px;height:44px;background:none;border:1px solid var(--border);padding:11px}.menu span{height:1px;width:20px;background:var(--ink)}nav{display:none;position:absolute;top:80px;left:0;right:0;background:#fff;padding:25px 6%;box-shadow:0 10px 20px #0001;align-items:stretch;gap:16px}nav.open{display:flex;flex-direction:column}nav>a{font-size:1rem}.nav-cta{width:fit-content}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:52px 7% 42px}.hero h1{font-size:clamp(3.5rem,9vw,4.7rem)}.hero .eyebrow{font-size:.65rem;margin-bottom:22px}.intro{max-width:440px;font-size:1rem}.hero-note{margin-top:27px}.hero-photo{height:430px}.hero-photo>img{object-position:center 50%}.experience{padding:20px 28px}.experience>strong{font-size:3rem}.experience>span{font-size:.8rem}.photo-caption{top:15px;left:15px;right:15px;font-size:.6rem}.photo-caption>span:last-child{font-size:.72rem}.promise{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;padding:22px 7%;font-size:.7rem}.promise span+span:before{content:none}.section{padding:65px 7%}.section-top{display:block;margin-bottom:35px}.section-top h2{font-size:clamp(2.45rem,6vw,3.1rem)}.section-top>p,.section-top>.text-link{margin-top:24px;max-width:440px;display:inline-block}.section-top .eyebrow{margin-bottom:18px}.offer-grid{grid-template-columns:1fr}.offer-grid article,.offer-grid article+article{padding:25px 0;border-left:0;border-bottom:1px solid var(--border)}.offer-number{margin-bottom:10px}.offer-grid h3{font-size:1.35rem}.offer-grid p{max-width:none;margin-bottom:18px;font-size:.95rem}.offer-grid a{justify-content:flex-start;gap:20px;font-size:.85rem}.gallery{gap:28px 18px}.project-photo{height:310px}.project-info strong{font-size:.95rem}.project-info small{font-size:.6rem}.gallery-extra{gap:12px;margin-top:30px;grid-template-columns:repeat(2,1fr)}.gallery-extra img{height:250px}.about{padding:65px 7%;gap:35px;grid-template-columns:1fr}.about-image img{height:420px}.about-copy h2{font-size:2.7rem}.about-copy>p:not(.eyebrow){font-size:1rem}.process{padding-top:0}.steps{grid-template-columns:1fr;gap:20px}.steps article{border-bottom:1px solid var(--border);padding-bottom:10px}.steps span{margin-bottom:10px}.steps h3{margin-bottom:10px}.steps p{max-width:none;font-size:.95rem}.review-grid{grid-template-columns:1fr;gap:18px}.review-grid article{padding:30px}.review-grid blockquote{font-size:1.15rem}.contact{grid-template-columns:1fr;gap:45px}.contact-details{border-left:0;border-top:1px solid #50564e;padding-left:0;padding-top:35px}.contact h2{font-size:2.7rem}.contact-actions{gap:18px}.contact-details p{font-size:1rem}.area{margin-top:30px}footer{flex-wrap:wrap;padding:30px 7%}footer .brand{width:100%;margin-bottom:10px}.lightbox{width:96vw;padding:40px 12px 20px}.lightbox>img{height:68dvh}}
@media(max-width:480px){.hero-photo{height:340px}.gallery{grid-template-columns:1fr;gap:30px}.project-photo{height:340px}.project-info{display:flex;align-items:baseline}.project-info small{max-width:125px;text-align:right}.gallery-extra img{height:215px}.about-image img{height:380px}.hero-actions{gap:16px}.hero .button{padding:15px 20px;gap:20px}.hero .text-link{font-size:.82rem}.promise{font-size:.68rem}.contact-actions{flex-direction:column;align-items:flex-start}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Original supplied logo, framed for each layout without altering the asset. */
.logo-symbol{display:block;position:relative;overflow:hidden;width:58px;height:78px;flex:0 0 auto}.logo-symbol img{position:absolute;max-width:none;width:190px;height:190px;left:-66px;top:-31px;object-fit:contain;mix-blend-mode:multiply}.brand{gap:12px}.logo-lockup{position:relative;overflow:hidden;width:320px;max-width:100%;aspect-ratio:320/255}.logo-lockup img{position:absolute;width:125%;max-width:none;height:auto;left:-12.5%;top:-24.3%;mix-blend-mode:multiply}.about-signature{padding-top:18px;margin-top:25px}footer{background:#faf8ef}footer .brand-text{font-size:1.3rem}footer .brand-text small{font-size:.63rem}footer .logo-symbol{width:44px;height:60px}footer .logo-symbol img{width:144px;height:144px;left:-50px;top:-24px}@media(max-width:1100px){.brand-text{font-size:1.35rem}}@media(max-width:780px){.brand-text{font-size:1.3rem}.brand-text small{font-size:.58rem;margin-top:7px;letter-spacing:.12em}.logo-symbol{width:44px;height:60px}.logo-symbol img{width:144px;height:144px;left:-50px;top:-24px}.header .brand{gap:9px}nav{background:#faf8ef}}
