:root{--color-bg: #f3eee5;--color-surface: #e8decf;--color-text: #2d2b2a;--color-border: #b8aa98;--color-accent: #b08d57;--color-accent-secondary: #7c836b;--color-olive-dark: #4f5a42;--color-ivory-soft: #fbf8f1;--font-display: "Playfair Display", Georgia, serif;--font-body: "Inter", Arial, sans-serif;--container-max: 1280px;--container-reading: 760px;--container-wide: 1440px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--space-9: 96px;--space-10: 128px;--header-height: 92px}*{box-sizing:border-box}html{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);scroll-behavior:smooth}body{margin:0;background:linear-gradient(90deg,rgba(184,170,152,.07) 1px,transparent 1px) 0 0 / 112px 112px,var(--color-bg);color:var(--color-text);font-size:16px;line-height:1.75;min-width:320px}body,button,input,select,textarea{font-family:var(--font-body)}img{display:block;max-width:100%}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.25em}a:hover{color:var(--color-accent)}button,input,select,textarea,a{outline-offset:4px}:focus-visible{outline:2px solid var(--color-accent)}::selection{background:#b08d5747}h1,h2,h3,h4{color:var(--color-text);font-family:var(--font-display);font-weight:500;line-height:1.16;margin:0}h1{font-size:64px;line-height:72px}h2{font-size:48px;line-height:56px}h3{font-size:32px;line-height:40px}h4{font-size:24px;line-height:32px}p{margin:0}.skip-link{background:var(--color-text);color:var(--color-bg);left:var(--space-4);padding:var(--space-3) var(--space-4);position:fixed;top:var(--space-4);transform:translateY(-160%);z-index:1000}.skip-link:focus{transform:translateY(0)}.site-header{background:#f3eee5e6;border-bottom:1px solid transparent;left:0;position:sticky;right:0;top:0;transition:background .22s ease,border-color .22s ease;z-index:100}.site-header.is-scrolled,.menu-open .site-header{background:var(--color-bg);border-bottom-color:#b8aa988c}.header-inner{align-items:center;display:grid;gap:var(--space-5);grid-template-columns:180px 1fr auto;height:var(--header-height);margin:0 auto;max-width:var(--container-wide);padding:0 var(--space-7)}.brand-link{display:inline-flex;height:54px;width:180px}.brand-link img{height:100%;object-fit:contain;object-position:left center;width:100%}.desktop-nav{align-items:center;display:flex;gap:var(--space-5);justify-content:center}.desktop-nav a,.header-cta,.mobile-nav a,.footer-nav a{font-size:12px;font-weight:600;letter-spacing:.12em;line-height:18px;text-decoration:none;text-transform:uppercase}.desktop-nav a[aria-current=page]{color:var(--color-accent)}.header-cta{border:1px solid var(--color-text);color:var(--color-text);padding:var(--space-3) var(--space-5);transition:background .22s ease,border-color .22s ease,color .22s ease}.header-cta:hover{background:var(--color-text);border-color:var(--color-text);color:var(--color-bg)}.menu-toggle{align-items:center;background:transparent;border:1px solid var(--color-border);border-radius:0;color:var(--color-text);display:none;height:44px;justify-content:center;padding:0;width:44px}.menu-toggle-lines{display:grid;gap:6px;width:20px}.menu-toggle-lines span{background:currentColor;display:block;height:1px;width:20px}.mobile-nav{background:var(--color-bg);border-bottom:1px solid rgba(184,170,152,.55);display:grid;gap:var(--space-4);padding:var(--space-5) var(--space-6) var(--space-7)}.mobile-nav[hidden]{display:none}.mobile-cta{border:1px solid var(--color-text);margin-top:var(--space-3);padding:var(--space-4);text-align:center}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.section{padding:var(--space-9) var(--space-7)}.section-tight{padding-bottom:var(--space-8);padding-top:var(--space-8)}.container{margin:0 auto;max-width:var(--container-max);width:100%}.container-wide{margin:0 auto;max-width:var(--container-wide);width:100%}.reading{max-width:var(--container-reading)}.eyebrow{color:var(--color-accent);font-size:12px;font-weight:600;letter-spacing:.16em;line-height:18px;text-transform:uppercase}.lead{font-size:20px;line-height:32px}.muted{color:#2d2b2ab8}.button-row{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-4)}.button{align-items:center;border:1px solid transparent;display:inline-flex;font-size:12px;font-weight:600;justify-content:center;letter-spacing:.12em;line-height:18px;min-height:48px;padding:var(--space-4) var(--space-6);text-decoration:none;text-transform:uppercase;transition:background .22s ease,border-color .22s ease,color .22s ease,opacity .22s ease}.button-primary{background:var(--color-text);border-color:var(--color-text);color:var(--color-bg)}.button-primary:hover{background:#3a3734;border-color:var(--color-accent);color:var(--color-bg)}.button-secondary{background:transparent;border-color:var(--color-accent);color:var(--color-text)}.button-secondary:hover{background:#b08d571a;color:var(--color-text)}.hero{align-items:center;background:#262320;color:var(--color-bg);display:grid;min-height:760px;overflow:hidden;position:relative}.hero:before{background:linear-gradient(90deg,#141210b8,#14121075 38%,#14121014 70%),linear-gradient(0deg,#14121033,#14121014),url(/images/placeholders/hero-living-room.jpg) center / cover;content:"";inset:0;position:absolute}.hero-content{max-width:680px;padding:var(--space-10) var(--space-7);position:relative;width:100%}.hero .eyebrow,.hero h1,.hero p{color:var(--color-bg)}.hero h1{margin-top:var(--space-4)}.hero p{font-size:20px;line-height:32px;margin-top:var(--space-5);max-width:620px}.hero .button-row{margin-top:var(--space-7)}.hero .button-secondary{border-color:#f3eee5b8;color:var(--color-bg)}.hero .button-secondary:hover{background:#f3eee51f;color:var(--color-bg)}.intro-grid{align-items:start;display:grid;gap:var(--space-8);grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}.intro-copy{display:grid;gap:var(--space-5)}.rule-list{border-left:1px solid var(--color-border);display:grid;gap:var(--space-5);padding-left:var(--space-7)}.rule-list p{color:#2d2b2ab8}.section-heading{align-items:end;display:grid;gap:var(--space-5);grid-template-columns:minmax(0,1fr) auto;margin-bottom:var(--space-7)}.section-heading p{max-width:620px}.project-grid{display:grid;gap:var(--space-6);grid-template-columns:repeat(3,minmax(0,1fr))}.project-grid-wide{grid-template-columns:repeat(2,minmax(0,1fr))}.project-card{display:grid;gap:var(--space-4)}.project-card-media{aspect-ratio:4 / 5;background:var(--color-surface);display:block;overflow:hidden}.project-card-media img{height:100%;object-fit:cover;transition:transform .42s ease,opacity .22s ease;width:100%}.project-card:hover .project-card-media img{opacity:.92;transform:scale(1.025)}.project-card-body{display:grid;gap:var(--space-2)}.project-card-body h3{font-size:28px;line-height:36px}.project-card-body h3 a{text-decoration:none}.project-card-body p{color:#2d2b2ab8}.content-note{color:var(--color-olive-dark);font-size:12px;font-weight:600;letter-spacing:.08em;line-height:18px;text-transform:uppercase}.surface-band{background:var(--color-surface)}.olive-band{background:var(--color-olive-dark);color:var(--color-bg)}.olive-band h2,.olive-band h3,.olive-band p,.olive-band .eyebrow{color:var(--color-bg)}.services-grid{display:grid;gap:var(--space-5);grid-template-columns:repeat(3,minmax(0,1fr))}.service-card{background:#f3eee5a6;border:1px solid rgba(184,170,152,.7);display:grid;gap:var(--space-4);min-height:300px;padding:var(--space-6)}.service-card h3{font-size:28px;line-height:36px}.service-card p{color:#2d2b2abf}.service-card a{align-self:end;color:var(--color-accent);font-size:12px;font-weight:600;letter-spacing:.12em;line-height:18px;text-decoration:none;text-transform:uppercase}.service-number{color:var(--color-accent);font-size:12px;font-weight:600;letter-spacing:.16em;line-height:18px}.process-steps{counter-reset:process;display:grid;gap:1px;grid-template-columns:repeat(4,minmax(0,1fr))}.process-step{background:#f3eee5e6;border:1px solid rgba(184,170,152,.58);display:grid;gap:var(--space-4);min-height:260px;padding:var(--space-6)}.process-step:before{color:var(--color-accent);content:"0" counter(process);counter-increment:process;font-size:12px;font-weight:600;letter-spacing:.16em;line-height:18px}.process-step h3{font-size:26px;line-height:34px}.olive-band .process-step{background:#f3eee514;border-color:#f3eee547}.olive-band .process-step:before{color:var(--color-surface)}.olive-band .process-step p{color:#f3eee5d1}.olive-band .button-secondary{border-color:#f3eee5ad;color:var(--color-bg)}.olive-band .button-secondary:hover{background:#f3eee51f;border-color:var(--color-bg);color:var(--color-bg)}.quote-band{background:linear-gradient(90deg,rgba(176,141,87,.14),transparent 40%),var(--color-surface);border-bottom:1px solid rgba(184,170,152,.5);border-top:1px solid rgba(184,170,152,.5)}.quote{display:grid;gap:var(--space-5);max-width:920px}.quote blockquote{font-family:var(--font-display);font-size:44px;font-style:italic;line-height:56px;margin:0}.cta-section{text-align:center}.cta-section .container{display:grid;gap:var(--space-5);justify-items:center}.cta-section p{max-width:680px}.page-hero{padding:var(--space-10) var(--space-7) var(--space-8)}.page-hero-inner{display:grid;gap:var(--space-5);max-width:860px}.page-hero h1{max-width:820px}.portfolio-filter{align-items:center;border-bottom:1px solid var(--color-border);border-top:1px solid var(--color-border);display:flex;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-7);padding:var(--space-4) 0}.filter-pill{border:1px solid rgba(184,170,152,.85);color:#2d2b2ab8;font-size:12px;font-weight:600;letter-spacing:.1em;line-height:18px;padding:var(--space-2) var(--space-4);text-transform:uppercase}.detail-hero{background:#1f1d1b;color:var(--color-bg);display:grid;min-height:700px;position:relative}.detail-hero img{height:100%;inset:0;object-fit:cover;opacity:.72;position:absolute;width:100%}.detail-hero-content{align-self:end;max-width:920px;padding:var(--space-10) var(--space-7);position:relative}.detail-hero-content h1,.detail-hero-content p,.detail-hero-content .eyebrow{color:var(--color-bg)}.detail-hero-content h1{margin-top:var(--space-4)}.detail-hero-content p{margin-top:var(--space-5);max-width:720px}.detail-layout{display:grid;gap:var(--space-8);grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr)}.meta-list{border-top:1px solid var(--color-border);display:grid}.meta-list div{border-bottom:1px solid var(--color-border);display:grid;gap:var(--space-2);padding:var(--space-4) 0}.meta-list dt{color:var(--color-accent);font-size:12px;font-weight:600;letter-spacing:.12em;line-height:18px;text-transform:uppercase}.meta-list dd{margin:0}.gallery-grid{display:grid;gap:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-grid img{aspect-ratio:4 / 5;height:auto;object-fit:cover;width:100%}.service-detail-list{display:grid;gap:var(--space-6)}.service-detail{border-top:1px solid var(--color-border);display:grid;gap:var(--space-6);grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);padding-top:var(--space-7)}.service-detail h2{font-size:38px;line-height:46px}.service-detail-body{display:grid;gap:var(--space-5)}.check-list{display:grid;gap:var(--space-3);list-style:none;margin:0;padding:0}.check-list li{border-left:2px solid var(--color-accent);padding-left:var(--space-4)}.image-text-grid{align-items:center;display:grid;gap:var(--space-8);grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}.image-text-grid img{aspect-ratio:4 / 5;object-fit:cover;width:100%}.about-story-grid{align-items:start}.about-story-grid img{aspect-ratio:4 / 3;max-height:520px}.contact-grid{align-items:start;display:grid;gap:var(--space-8);grid-template-columns:minmax(280px,.42fr) minmax(0,.58fr)}.contact-aside{display:grid;gap:var(--space-6)}.contact-detail{border-top:1px solid var(--color-border);display:grid;gap:var(--space-2);padding-top:var(--space-4)}.contact-detail a{color:var(--color-text)}.contact-mail-card{background:#e8decfbd;border:1px solid rgba(184,170,152,.65);display:grid;gap:var(--space-5);justify-items:start;padding:var(--space-7)}.contact-mail-card .button{margin-top:var(--space-2)}.site-footer{background:var(--color-text);color:var(--color-bg)}.footer-inner{display:grid;gap:var(--space-8);grid-template-columns:minmax(0,1.2fr) minmax(180px,.5fr) minmax(220px,.5fr);margin:0 auto;max-width:var(--container-wide);padding:var(--space-8) var(--space-7)}.footer-brand{display:grid;gap:var(--space-4);max-width:520px}.footer-logo{display:grid;gap:var(--space-1);text-decoration:none;width:max-content}.footer-logo span:first-child{color:var(--color-bg);font-family:var(--font-display);font-size:44px;line-height:44px}.footer-logo span:last-child{color:#f3eee5c7;font-size:12px;font-weight:600;letter-spacing:.42em;line-height:18px;text-transform:uppercase}.footer-brand p,.footer-contact a,.footer-contact p,.footer-bottom p{color:#f3eee5c7}.service-area{font-size:14px;line-height:24px}.footer-nav,.footer-contact{display:grid;gap:var(--space-3)}.footer-nav a,.footer-contact a{color:var(--color-bg);text-decoration:none}.footer-bottom{border-top:1px solid rgba(243,238,229,.16);margin:0 auto;max-width:var(--container-wide);padding:var(--space-5) var(--space-7)}@media(max-width:1023px){:root{--header-height: 78px}h1{font-size:48px;line-height:56px}h2{font-size:38px;line-height:46px}h3{font-size:28px;line-height:36px}.header-inner{grid-template-columns:160px 1fr auto;padding:0 var(--space-5)}.brand-link{height:48px;width:160px}.desktop-nav,.header-cta{display:none}.menu-toggle{display:inline-flex;justify-self:end}.section,.page-hero,.detail-hero-content,.hero-content{padding-left:var(--space-5);padding-right:var(--space-5)}.intro-grid,.image-text-grid,.contact-grid,.detail-layout,.service-detail{grid-template-columns:1fr}.rule-list{border-left:0;border-top:1px solid var(--color-border);padding-left:0;padding-top:var(--space-6)}.about-story-grid img{aspect-ratio:16 / 9;max-height:420px}.services-grid,.project-grid,.project-grid-wide,.process-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-inner{grid-template-columns:1fr 1fr;padding-left:var(--space-5);padding-right:var(--space-5)}.footer-brand{grid-column:1 / -1}}@media(max-width:767px){h1{font-size:40px;line-height:46px}h2{font-size:32px;line-height:38px}h3{font-size:24px;line-height:30px}body{line-height:1.65}.header-inner{gap:var(--space-3);padding:0 var(--space-4)}.brand-link{height:42px;width:142px}.section,.page-hero{padding:var(--space-8) var(--space-4)}.hero{min-height:680px}.hero:before{background:linear-gradient(0deg,#1412109e,#14121047),url(/images/placeholders/hero-living-room.jpg) 58% center / cover}.hero-content{align-self:end;padding:var(--space-9) var(--space-4)}.hero p,.lead{font-size:18px;line-height:30px}.section-heading{align-items:start;grid-template-columns:1fr}.button-row,.button{width:100%}.button{padding-left:var(--space-4);padding-right:var(--space-4)}.services-grid,.project-grid,.project-grid-wide,.process-steps,.gallery-grid{grid-template-columns:1fr}.quote blockquote{font-size:32px;line-height:42px}.detail-hero{min-height:620px}.detail-hero-content{padding:var(--space-9) var(--space-4)}.contact-mail-card{padding:var(--space-5)}.footer-inner{grid-template-columns:1fr;padding:var(--space-7) var(--space-4)}.footer-bottom{padding-left:var(--space-4);padding-right:var(--space-4)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
