@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{color-scheme:light;--ink:#242621;--paper:#faf8f3;--gold:#947243;--line:#d7d1c5;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;color:var(--ink);background:var(--paper);font:1rem/1.75 var(--sans)}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}a:focus-visible,summary:focus-visible{outline:3px solid #b28c4f;outline-offset:5px}img{max-width:100%;display:block}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:500}h1,h2{font-family:var(--serif);line-height:1.04;letter-spacing:-.025em}h2{font-size:clamp(2.7rem,4.5vw,4.7rem)}.eyebrow{font-size:.875rem;font-weight:600;letter-spacing:.14em;line-height:1.5;color:var(--gold);margin-bottom:1.25rem}.skip-link{position:fixed;top:-100px;left:1rem;z-index:10;background:#fff;padding:1rem}.skip-link:focus{top:1rem}::selection{background:#d9c69f;color:#171b16}
.header{background:#20251f;color:#f7f3eb;padding:1rem 4%;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand{display:flex;align-items:center;gap:1rem;flex-shrink:0}.brand:hover{text-decoration:none}.brand-logo{width:4.7rem;height:4.7rem;object-fit:contain;border-radius:50%}.brand-type{display:flex;flex-direction:column}.brand-name{font:500 2.5rem/1 var(--serif);letter-spacing:.025em}.brand-dot{color:#c8ab77}.brand-sub{font-size:.75rem;letter-spacing:.16em;margin-top:.55rem}.header nav{display:flex;align-items:center;justify-content:flex-end;gap:clamp(1rem,2vw,2rem);flex-wrap:wrap;font-size:.875rem}.header nav a:last-child{border:1px solid #a68e65;padding:.65rem 1rem;white-space:nowrap}
.hero{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);background:#242621;max-width:1800px;margin:auto}.hero-copy{min-width:0;position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;color:#fff;padding:clamp(3rem,6vw,7rem) 8%;min-height:760px}.hero-copy .eyebrow{color:#e0cba7;max-width:25rem}.hero h1{font-size:clamp(3.5rem,5.7vw,7rem);margin:0 0 1.7rem;line-height:1.01;text-shadow:0 2px 14px #0003}.intro{font-size:1.05rem;color:#eee9e0;line-height:1.8;margin-bottom:2rem}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1.4rem}.text-link{background:#e4cfaa;color:#222820;padding:1rem 1.3rem;font-size:.9375rem;font-weight:600;display:inline-flex;gap:1rem;align-items:center;min-height:3.2rem}.text-link:hover{background:#f0dec0;text-decoration:none}.hero-secondary{font-size:.9375rem;border-bottom:1px solid #cfb58b;padding:.65rem 0}.hero-secondary span{margin-left:.6rem}.hero-instagram{display:flex;flex-direction:column;margin-top:2.7rem;font-size:.875rem;line-height:1.7;color:#eee9e0;max-width:100%;overflow-wrap:anywhere}.hero-instagram strong{font-weight:500;font-size:1rem}.hero-instagram strong span{margin-left:.5rem}.hero-about{background:var(--paper);padding:clamp(2rem,4vw,4.5rem);display:flex;flex-direction:column;justify-content:center;border-bottom:1px solid var(--line)}.hero-about h2{font-size:clamp(2.7rem,3.5vw,4rem);margin-bottom:1.75rem}.hero-about h2 span{color:#856437}.hero-about>p:not(.eyebrow){font-size:1rem;line-height:1.85;color:#55584f;margin-bottom:1rem}.hero-about>p:last-child{margin:0}.hero-visual{position:absolute;inset:0 40% 0 0;z-index:-1}.image-frame{height:100%;position:relative;overflow:hidden}.image-frame img{width:100%;height:100%;object-fit:cover;object-position:45% center}.image-frame:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#101810cc,#11170f65),linear-gradient(0deg,#1420156b,transparent 60%)}.hero-visual figcaption{position:absolute;bottom:1.25rem;left:8%;right:8%;color:#f4eee3;font-size:.75rem;letter-spacing:.06em}
.wood-section,.projects,.reviews{padding:clamp(4rem,7vw,7rem) max(5%,calc((100vw - 1320px)/2))}.section-heading{display:grid;grid-template-columns:1fr 1fr;gap:1rem 4rem;margin-bottom:3rem}.section-heading .eyebrow{grid-column:1/-1;margin-bottom:0}.section-heading>p:last-child{align-self:end;color:#64665d;max-width:29rem}.section-heading em{font-style:italic;color:#856437}.qualities{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1.5rem}.service-photo-card{grid-column:span 2;position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:flex-end;min-height:31rem;padding:2rem;color:#fff;background:#252d24}.service-04,.service-05{grid-column:span 3;min-height:29rem}.service-photo{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center bottom;transition:transform .45s}.service-photo-card:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#111b12f5,#111b12bf 38%,#111b1210 100%)}.service-photo-card:hover .service-photo{transform:scale(1.025)}.service-02 .service-photo{height:210%;top:auto;bottom:0}.number{display:block;font-family:var(--serif);font-size:1.8rem;color:#e4cda5;border-bottom:1px solid #c8b08a80;margin-bottom:1.5rem;padding-bottom:.6rem}.service-card-copy h3{font-family:var(--serif);font-size:2.2rem;line-height:1.06;margin-bottom:.85rem}.service-card-copy p{font-size:1rem;line-height:1.65;color:#eee9e0;max-width:29rem}.service-credit{position:absolute;top:.8rem;left:.8rem;background:#182017e6;padding:.2rem .6rem;font-size:.75rem}.service-credit a{text-decoration:underline}.photo-credits{color:#66685f;font-size:.8125rem;margin-top:1.5rem}.photo-credits summary{font-size:.875rem}.photo-credits p{margin:.6rem 0;max-width:75rem}.photo-credits a{text-decoration:underline}summary{cursor:pointer}
.projects{background:#ede9e0}.gallery-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:3rem;margin-bottom:3rem}.gallery-heading>p{color:#63665d;max-width:24rem;flex-shrink:0}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3.5rem 2rem;align-items:start}.project-card{min-width:0}.project-card:first-child{grid-column:1/-1}.project-cover{display:block;position:relative;overflow:hidden;background:#d0cabd}.project-cover img{width:100%;height:auto;aspect-ratio:1.05;object-fit:cover;transition:transform .5s}.project-card:first-child .project-cover img{aspect-ratio:2.05;object-position:center 66%}.project-cover:hover img{transform:scale(1.02)}.photo-open{position:absolute;bottom:1rem;right:1rem;background:#faf8f3;color:#33382e;width:3rem;height:3rem;display:grid;place-items:center;font-size:1.5rem}.photo-label{position:absolute;left:1rem;top:1rem;background:#222b22e8;color:#fff;font-size:.875rem;padding:.4rem .8rem}.project-info{padding:1.4rem 0 0;border-bottom:1px solid #c6c2b8;padding-bottom:1rem}.project-info h3{font:500 clamp(1.8rem,2.8vw,2.8rem)/1.1 var(--serif);margin-bottom:.5rem}.project-info>p{color:#696d62;font-size:.875rem}.project-info summary{font-size:.875rem;padding:.7rem 0;color:#695131}.project-extra-grid{display:grid;gap:1rem;padding:.6rem 0 1rem}.project-extra img{width:100%;height:auto}.before-label{font-size:.875rem}
.reviews{background:#242c23;color:#f6f2e9}.reviews .eyebrow{color:#d3b783}.reviews h2{margin-bottom:1.25rem}.review-intro{color:#c4cabb;margin-bottom:3rem}.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}.review-card{margin:0;display:flex;flex-direction:column;padding:2rem 0;border-top:1px solid #65725d}.stars{color:#ddc192;font-size:1rem;letter-spacing:.14em;margin-bottom:1.5rem}.review-card blockquote{font-family:var(--serif);font-size:1.65rem;line-height:1.38;margin:0 0 2rem}.review-card figcaption{margin-top:auto}.review-card strong{display:block;font-weight:500;font-size:1rem}.review-card time{font-size:.8125rem;color:#c3c9bb}.review-card a{display:block;font-size:.875rem;color:#dcc499;margin-top:.7rem;text-decoration:underline;text-underline-offset:4px}.more-reviews{border-top:1px solid #65725d;margin-top:1rem;padding-top:1rem}.more-reviews>summary{color:#e7ceaa;padding:.6rem 0}.more-reviews[open]>summary{margin-bottom:1rem}
.contact{display:flex;align-items:center;justify-content:space-between;gap:3rem;padding:clamp(4rem,7vw,7rem) max(5%,calc((100vw - 1320px)/2));background:#e1d0b2}.contact .eyebrow{color:#685031}.contact h2{max-width:42rem}.contact p:not(.eyebrow){margin-top:1.2rem;color:#4d5145}.contact-options{flex-shrink:0}.contact .contact-number{font:500 clamp(1.8rem,3vw,2.7rem)/1.1 var(--serif);margin:0 0 1.5rem;color:var(--ink)}.contact-buttons{display:flex;gap:.8rem;flex-wrap:wrap}.contact-buttons a{background:#252d23;color:#fff;padding:.9rem 1.3rem;display:inline-flex;gap:1.2rem;justify-content:center;align-items:center;min-width:7.5rem;min-height:3.25rem;font-size:1rem}.contact-buttons a:last-child{background:transparent;border:1px solid #51533f;color:#262d22}.contact-buttons a:hover{text-decoration:none;background:#3d4938;color:#fff}footer{background:#1b211a;color:#eeeade;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:2.5rem 5%;font-size:.875rem}footer p:nth-child(2){color:#b9c1b1}footer a{white-space:nowrap}
@media(min-width:1600px){.hero-copy{min-height:860px}}
@media(max-width:1100px){.header{flex-wrap:wrap}.header nav{gap:1.2rem}.hero{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}.hero-visual{right:45.4545%}.hero-copy{padding:4rem 7%;min-height:700px}.hero h1{font-size:clamp(3.2rem,5.5vw,5rem)}.hero-about{padding:2rem}.hero-about h2{font-size:2.7rem}.qualities{gap:1rem}.service-photo-card{padding:1.5rem}.service-card-copy h3{font-size:1.9rem}.gallery-heading{display:block}.gallery-heading>p{margin-top:1.5rem}.contact{align-items:start;flex-direction:column}.review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.hero{grid-template-columns:1fr}.hero-copy{min-height:620px;padding:4rem 6% 5rem}.hero h1{font-size:clamp(3.6rem,8.5vw,5.5rem)}.hero-visual{inset:0 0 auto;height:620px}.hero-about{padding:3.5rem 6%;border-bottom:0}.hero-about h2{font-size:3.4rem;max-width:35rem}.hero-about>p:not(.eyebrow){max-width:45rem}.section-heading{display:block}.section-heading .eyebrow{margin-bottom:1.25rem}.section-heading>p:last-child{margin-top:1.5rem}.qualities{grid-template-columns:repeat(2,minmax(0,1fr))}.service-photo-card,.service-04,.service-05{grid-column:auto;min-height:28rem}.service-05{grid-column:1/-1}.project-grid{gap:2.5rem 1.25rem}.project-card:first-child .project-cover img{aspect-ratio:1.4}footer{flex-wrap:wrap}}
@media(max-width:540px){.header{justify-content:center;padding:1rem 5% 1.2rem;gap:1.2rem}.brand-logo{width:3.9rem;height:3.9rem}.brand-name{font-size:2.3rem}.brand-sub{font-size:.75rem}.header nav{justify-content:center;gap:.65rem 1.1rem;font-size:.875rem}.header nav a:last-child{padding:.45rem .8rem}.hero-copy{min-height:640px}.hero-visual{height:640px}.hero-copy .eyebrow{font-size:.75rem;letter-spacing:.1em}.hero h1{font-size:clamp(3rem,11vw,4.4rem)}.hero-actions{gap:1.2rem}.hero-instagram{margin-top:2rem}.hero-about h2{font-size:2.9rem}.wood-section,.projects,.reviews{padding:3.8rem 6%}.qualities{grid-template-columns:1fr;gap:1.3rem}.service-photo-card,.service-05{grid-column:auto;min-height:29rem}.service-card-copy h3{font-size:2.4rem}.project-grid{grid-template-columns:1fr;gap:2.5rem}.project-card:first-child{grid-column:auto}.project-card:first-child .project-cover img,.project-cover img{aspect-ratio:4/5}.project-info h3{font-size:2rem}.review-grid{grid-template-columns:1fr;gap:.5rem}.review-card blockquote{font-size:1.6rem}.contact{padding:3.8rem 6%;gap:2rem}.contact-options{width:100%}.contact-buttons a{flex:1}.contact .contact-number{font-size:2.3rem}footer{padding:2rem 6%;gap:1rem}footer p:nth-child(2){width:100%;order:3}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.service-photo,.project-cover img{transition:none}}
