:root{--background:#fcfaf4;--foreground:#3c342e;--card:#fffefa;--primary:#b84e2c;--primary-dark:#953b20;--muted:#f4eee4;--muted-text:#74675e;--border:#e4d7c7;--sand:#eee2ce;--mortar:#302a26;--danger:#b42318;--radius:10px;--shadow:0 2px 8px rgba(48,42,38,.07);--font-display:"Fraunces",Georgia,serif;--font-sans:"Inter",system-ui,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:78px}body{margin:0;background:var(--background);color:var(--foreground);font-family:var(--font-sans);line-height:1.5}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}svg{width:1.15rem;height:1.15rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.svg-sprite{position:absolute;overflow:hidden}.container{width:min(100% - 2rem,72rem);margin-inline:auto}.site-header{position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(228,215,199,.9);background:rgba(252,250,244,.88);backdrop-filter:blur(12px)}.header-inner{height:64px;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.brand{display:flex;align-items:center;gap:.65rem;white-space:nowrap}.brand strong{font-family:var(--font-display);font-size:1.25rem}.brand-mark{width:36px;height:36px;display:grid;place-items:center;border-radius:7px;background:var(--primary);color:#fff}.brand-subtitle{font-size:.875rem;color:var(--muted-text)}.main-nav{display:flex;align-items:center;gap:1.75rem;margin-left:auto}.main-nav a{font-size:.875rem;font-weight:500;color:var(--muted-text);transition:.2s}.main-nav a:hover{color:var(--foreground)}.header-actions{display:flex;gap:.75rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;border:1px solid var(--primary);border-radius:7px;background:var(--primary);color:#fff;font-weight:600;line-height:1;padding:.75rem 1rem;cursor:pointer;transition:.2s}.button:hover{background:var(--primary-dark);border-color:var(--primary-dark)}.button-outline{background:transparent;color:var(--foreground);border-color:var(--border)}.button-outline:hover{background:var(--muted);border-color:var(--border)}.button-small{padding:.6rem .85rem;font-size:.875rem}.button-large{min-height:46px;padding:.8rem 1.2rem}.full-width{width:100%}.menu-toggle{display:none;width:42px;height:42px;border:0;background:transparent;border-radius:7px;cursor:pointer}.menu-toggle span{display:block;width:22px;height:2px;margin:5px auto;background:var(--foreground);transition:.2s}.brick-pattern{background-color:var(--sand);background-image:linear-gradient(335deg,rgba(150,65,38,.045) 23%,transparent 23%),linear-gradient(155deg,rgba(150,65,38,.045) 23%,transparent 23%),linear-gradient(335deg,rgba(150,65,38,.045) 50%,transparent 50%),linear-gradient(155deg,rgba(150,65,38,.045) 50%,transparent 50%);background-size:58px 58px;background-position:0 0,0 0,29px 29px,29px 29px}.hero{position:relative;overflow:hidden;background-color:rgba(238,226,206,.55)}.hero-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:3rem;padding-block:7rem}.pill{display:inline-flex;align-items:center;gap:.5rem;padding:.3rem .75rem;border:1px solid var(--border);border-radius:999px;background:rgba(255,254,250,.82);font-size:.75rem;font-weight:600;color:var(--muted-text)}.pill svg,.trust-row svg{color:var(--primary)}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.015em;line-height:1.12;margin:0}h1{margin-top:1.2rem;font-size:clamp(2.6rem,5vw,4rem);font-weight:600}h1 span{display:block;color:var(--primary)}.hero-copy>p{max-width:37rem;margin:1.3rem 0 0;font-size:1.08rem;line-height:1.75;color:var(--muted-text)}.button-row{display:flex;gap:.75rem;margin-top:2rem}.trust-row{display:flex;flex-wrap:wrap;gap:1.5rem;margin-top:2rem;color:var(--muted-text);font-size:.875rem}.trust-row span{display:flex;align-items:center;gap:.4rem}.project-image{position:relative;display:flex;align-items:flex-end;overflow:hidden;min-height:230px;background-color:var(--sand);background-image:linear-gradient(to top,rgba(48,42,38,.68),rgba(48,42,38,.08) 55%,transparent),linear-gradient(335deg,rgba(150,65,38,.06) 23%,transparent 23%),linear-gradient(155deg,rgba(150,65,38,.06) 23%,transparent 23%);background-size:auto,58px 58px,58px 58px;background-position:center;border:1px solid var(--border);border-radius:12px;background-repeat:no-repeat,repeat,repeat}.project-image.has-image{background-size:cover;background-position:center}.project-image>span{display:inline-flex;align-items:center;gap:.4rem;margin:.8rem;padding:.35rem .65rem;border-radius:6px;background:rgba(252,250,244,.88);font-size:.75rem;font-weight:600;backdrop-filter:blur(8px)}.project-image>span svg{color:var(--primary)}.hero-image{aspect-ratio:4/3}.section{padding-block:7rem}.section-heading{max-width:42rem;margin:0 auto;text-align:center}.section-heading>span{color:var(--primary);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em}.section-heading h2{margin-top:.7rem;font-size:clamp(2rem,4vw,2.55rem);font-weight:600}.section-heading p{margin: .8rem 0 0;color:var(--muted-text);line-height:1.7}.align-left{text-align:left;margin-left:0}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:3rem}.service-card{padding:1.5rem;border:1px solid var(--border);border-radius:12px;background:var(--card);box-shadow:var(--shadow);transition:.2s}.service-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(48,42,38,.1)}.icon-box{width:44px;height:44px;display:grid;place-items:center;border-radius:8px;background:rgba(184,78,44,.1);color:var(--primary);transition:.2s}.service-card:hover .icon-box{background:var(--primary);color:#fff}.service-card h3{margin-top:1rem;font-size:1.25rem}.service-card p{margin:.55rem 0 0;color:var(--muted-text);font-size:.875rem;line-height:1.7}.projects-section,.site-footer{background:rgba(238,226,206,.42)}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:3rem}.project-card{overflow:hidden;margin:0;border:1px solid var(--border);border-radius:12px;background:var(--card);box-shadow:var(--shadow)}.project-card .project-image{aspect-ratio:4/3;min-height:0;border:0;border-radius:0}.project-card figcaption{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border-top:1px solid var(--border)}.project-card strong{display:block;font-family:var(--font-display);font-size:1rem}.project-card small{display:block;color:var(--muted-text)}.project-card em{padding:.2rem .6rem;border-radius:999px;background:rgba(184,78,44,.1);color:var(--primary);font-size:.72rem;font-style:normal;font-weight:600;white-space:nowrap}.about-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:3rem}.portrait{aspect-ratio:4/5}.about-copy{color:var(--muted-text);line-height:1.8}.check-list{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.2rem;padding:0;margin:1.5rem 0 0;list-style:none}.check-list li{display:flex;align-items:flex-start;gap:.6rem;font-size:.875rem}.check-list svg{flex:0 0 auto;color:var(--primary)}.reviews-section{background:var(--mortar);color:var(--background)}.section-heading.light>span{color:#e37855}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:3rem}.review-card{display:flex;flex-direction:column;margin:0;padding:1.5rem;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(255,255,255,.05)}.stars{display:flex;color:#e37855}.stars svg{width:1rem;height:1rem;fill:currentColor}.review-card blockquote{flex:1;margin:1rem 0 0;font-family:var(--font-display);font-size:1.08rem;line-height:1.7}.review-card figcaption{margin-top:1.2rem;font-size:.875rem}.review-card figcaption span{color:rgba(252,250,244,.6)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem}.contact-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2rem}.contact-info{display:flex;align-items:flex-start;gap:.8rem;padding:1rem;border:1px solid var(--border);border-radius:9px;background:var(--card)}a.contact-info{transition:.2s}a.contact-info:hover{opacity:.78}.contact-info>span{width:36px;height:36px;display:grid;place-items:center;flex:0 0 auto;border-radius:7px;background:rgba(184,78,44,.1);color:var(--primary)}.contact-info small{display:block;color:var(--muted-text);font-size:.67rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.contact-info strong{display:block;margin-top:.15rem;font-size:.875rem;overflow-wrap:anywhere}.form-card{min-height:420px;padding:2rem;border:1px solid var(--border);border-radius:12px;background:var(--card);box-shadow:var(--shadow)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.field{margin-bottom:1.15rem}.field label{display:block;margin-bottom:.4rem;font-size:.875rem;font-weight:600}.field input,.field textarea{width:100%;padding:.72rem .8rem;border:1px solid var(--border);border-radius:7px;background:var(--background);color:var(--foreground);outline:none;transition:.2s}.field textarea{resize:vertical;min-height:126px}.field input:focus,.field textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(184,78,44,.12)}.field [aria-invalid="true"]{border-color:var(--danger)}.field-error{display:block;min-height:1rem;margin-top:.25rem;color:var(--danger);font-weight:600}.form-alert{margin-bottom:1rem;padding:.75rem;border:1px solid #f1b4ad;border-radius:7px;background:#fff0ee;color:var(--danger);font-size:.875rem}.privacy-note{text-align:center;margin:.75rem 0 0;color:var(--muted-text);font-size:.7rem}.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.form-success{height:100%;min-height:350px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.form-success>svg{width:42px;height:42px;color:var(--primary)}.form-success h3{margin-top:1rem;font-size:1.6rem}.form-success p{color:var(--muted-text);line-height:1.7}.form-success .button{margin-top:1rem}.site-footer{border-top:1px solid var(--border);padding-top:3rem}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:3rem}.footer-about p{max-width:24rem;color:var(--muted-text);font-size:.875rem;line-height:1.7}.footer-grid nav,.footer-contact{display:flex;flex-direction:column;gap:.45rem;font-size:.875rem}.footer-grid nav>strong,.footer-contact>strong{margin-bottom:.25rem;color:var(--muted-text);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}.footer-grid nav a,.footer-contact a,.footer-contact span{color:var(--muted-text)}.footer-grid nav a:hover,.footer-contact a:hover{color:var(--foreground)}.copyright{margin-top:2.5rem;padding-block:1.5rem;border-top:1px solid var(--border);color:var(--muted-text);font-size:.75rem}
@media(max-width:900px){.main-nav,.header-actions{display:none}.menu-toggle{display:block}.main-nav.open{position:absolute;top:64px;left:0;right:0;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:.75rem 1rem 1rem;border-bottom:1px solid var(--border);background:var(--background);box-shadow:var(--shadow)}.main-nav.open a{padding:.8rem;border-radius:6px}.main-nav.open a:hover{background:var(--muted)}.hero-grid,.about-grid,.contact-grid{grid-template-columns:1fr}.hero-grid{padding-block:5rem}.service-grid,.project-grid{grid-template-columns:repeat(2,1fr)}.hero-image{max-width:620px}.portrait{max-width:620px}.review-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:2fr 1fr}.footer-contact{grid-column:2}}
@media(max-width:620px){.brand-subtitle{display:none}.container{width:min(100% - 1.5rem,72rem)}.hero-grid{gap:2.5rem;padding-block:4rem}.section{padding-block:4.5rem}.button-row{flex-direction:column}.button-row .button{width:100%}.service-grid,.project-grid,.check-list,.contact-info-grid,.field-row,.footer-grid{grid-template-columns:1fr}.footer-contact{grid-column:auto}.form-card{padding:1.25rem}.project-card figcaption{align-items:flex-start}.project-card em{white-space:normal}.trust-row{gap:.8rem 1.2rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
