*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--cream:#f7f4ef;--cream-dark:#ede8df;--charcoal:#1c1c1a;--charcoal-mid:#2e2e2b;--text-muted:#6b6b65;--accent:#c4933a;--accent-light:#f0e4cc;--white:#fff;--border:#1c1c1a1a;--serif:"Playfair Display", Georgia, serif;--sans:"DM Sans", system-ui, sans-serif}html{scroll-behavior:smooth}body{font-family:var(--sans);background:var(--cream);color:var(--charcoal);line-height:1.6;overflow-x:hidden}.nav{z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:.5px solid var(--border);background:#f7f4efeb;justify-content:space-between;align-items:center;padding:1.25rem 3rem;display:flex;position:fixed;top:0;left:0;right:0}.nav-logo{font-family:var(--serif);letter-spacing:.02em;color:var(--charcoal);font-size:1.4rem;font-weight:500;text-decoration:none}.nav-cta{background:var(--charcoal);color:var(--cream);font-family:var(--sans);letter-spacing:.04em;cursor:pointer;border:none;border-radius:2px;padding:.6rem 1.5rem;font-size:.85rem;font-weight:500;transition:background .2s}.nav-cta:hover{background:var(--accent)}.hero{grid-template-columns:1fr 1fr;min-height:100vh;padding-top:80px;display:grid}.hero-left{background:var(--charcoal);flex-direction:column;justify-content:center;padding:5rem 3rem;display:flex}.hero-eyebrow{letter-spacing:.15em;color:var(--accent);text-transform:uppercase;margin-bottom:2rem;font-size:.75rem;font-weight:500}.hero-title{font-family:var(--serif);color:var(--cream);margin-bottom:1.75rem;font-size:clamp(2.4rem,4vw,3.4rem);font-weight:500;line-height:1.15}.hero-title em{color:var(--accent);font-style:italic}.hero-subtitle{color:#f7f4efa6;max-width:380px;margin-bottom:2.5rem;font-size:.95rem;font-weight:300;line-height:1.75}.hero-cta{background:var(--accent);color:var(--charcoal);font-family:var(--sans);cursor:pointer;border:none;border-radius:2px;align-items:center;gap:.75rem;width:fit-content;padding:1rem 2rem;font-size:.9rem;font-weight:500;transition:opacity .2s,transform .2s;display:inline-flex}.hero-cta:hover{opacity:.88;transform:translateY(-1px)}.hero-right{background:#1a1a18;flex-direction:column;justify-content:flex-end;padding:3rem;display:flex;position:relative;overflow:hidden}.hero-img{object-fit:cover;opacity:.6;width:100%;height:100%;position:absolute;inset:0}.hero-img-placeholder{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.hero-img-label{letter-spacing:.1em;color:#f7f4ef26;text-transform:uppercase;text-align:center;font-size:.75rem}.hero-stats{z-index:2;gap:2rem;display:flex;position:relative}.hero-stat{border-top:1px solid #c4933a66;padding-top:1rem}.hero-stat-num{font-family:var(--serif);color:var(--accent);margin-bottom:.3rem;font-size:2rem;font-weight:500;line-height:1;display:block}.hero-stat-label{color:#f7f4ef80;letter-spacing:.05em;font-size:.75rem}.section{padding:6rem 3rem}.section-eyebrow{letter-spacing:.15em;color:var(--accent);text-transform:uppercase;margin-bottom:1rem;font-size:.72rem;font-weight:500}.section-title{font-family:var(--serif);color:var(--charcoal);margin-bottom:1rem;font-size:clamp(1.8rem,3vw,2.6rem);font-weight:500;line-height:1.2}.section-subtitle{color:var(--text-muted);max-width:520px;margin-bottom:3.5rem;font-size:.95rem;line-height:1.75}.social-proof{background:var(--white)}.proof-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:4rem;display:grid}.proof-metric{background:var(--cream);border-radius:4px;padding:2rem}.proof-metric-num{font-family:var(--serif);color:var(--charcoal);margin-bottom:.4rem;font-size:3rem;font-weight:500;line-height:1}.proof-metric-accent{color:var(--accent)}.proof-metric-label{color:var(--text-muted);font-size:.85rem;line-height:1.5}.reviews-title{font-family:var(--serif);color:var(--charcoal);margin-bottom:1.5rem;font-size:1.1rem;font-style:italic;font-weight:400}.reviews-grid{grid-template-columns:repeat(2,1fr);gap:1.25rem;display:grid}.review-card{border:.5px solid var(--border);border-radius:4px;flex-direction:column;padding:1.75rem;display:flex}.review-card.featured{background:#c4933a08;border-color:#c4933a59}.review-stars{color:var(--accent);letter-spacing:.05em;margin-bottom:.5rem;font-size:.85rem}.review-quote{color:var(--charcoal-mid);flex:1;margin-bottom:1.25rem;font-size:.9rem;font-style:italic;line-height:1.75}.review-author{color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase;font-size:.8rem;font-weight:500}.portfolio{background:var(--cream-dark)}.portfolio-tabs{flex-wrap:wrap;gap:.5rem;margin-bottom:2.5rem;display:flex}.tab-btn{border:.5px solid var(--border);font-family:var(--sans);color:var(--text-muted);cursor:pointer;letter-spacing:.04em;background:0 0;border-radius:2px;padding:.5rem 1.25rem;font-size:.82rem;font-weight:500;transition:all .2s}.tab-btn.active{background:var(--charcoal);color:var(--cream);border-color:var(--charcoal)}.tab-btn:hover:not(.active){border-color:var(--charcoal);color:var(--charcoal)}.portfolio-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.portfolio-item{aspect-ratio:4/3;background:var(--cream);border:.5px solid var(--border);border-radius:4px;flex-direction:column;justify-content:flex-end;display:flex;position:relative;overflow:hidden}.portfolio-placeholder{background:linear-gradient(160deg,#e8e3d8 0%,#d4cdc0 100%);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.portfolio-img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.portfolio-info{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1c1c1abf;padding:.75rem 1rem;position:relative}.portfolio-info-title{color:var(--cream);letter-spacing:.04em;font-size:.8rem;font-weight:500}.portfolio-info-meta{color:#f7f4ef8c;margin-top:.15rem;font-size:.72rem}.before-after-strip{grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem;display:grid}.ba-item{border:.5px solid var(--border);aspect-ratio:16/9;background:var(--cream);border-radius:4px;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.ba-label{letter-spacing:.1em;text-transform:uppercase;border-radius:2px;padding:.2rem .6rem;font-size:.7rem;font-weight:500;position:absolute;top:.75rem;left:.75rem}.ba-label-before{color:var(--cream);background:#1c1c1ab3}.ba-label-after{background:var(--accent);color:var(--charcoal)}.ba-placeholder{color:#1c1c1a33;letter-spacing:.08em;text-transform:uppercase;font-size:.75rem}.process{background:var(--white)}.process-steps{grid-template-columns:repeat(4,1fr);display:grid;position:relative}.process-steps:before{content:"";background:var(--border);z-index:0;height:1px;position:absolute;top:2.25rem;left:2rem;right:2rem}.process-step{z-index:1;padding:0 1.5rem 0 0;position:relative}.step-num{background:var(--charcoal);width:2.5rem;height:2.5rem;font-family:var(--serif);color:var(--cream);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-bottom:1.5rem;font-size:.9rem;font-weight:500;display:flex}.step-num.accent{background:var(--accent);color:var(--charcoal)}.step-title{color:var(--charcoal);margin-bottom:.5rem;font-size:.95rem;font-weight:500}.step-desc{color:var(--text-muted);font-size:.85rem;line-height:1.7}.step-tag{letter-spacing:.08em;color:var(--accent);text-transform:uppercase;border:.5px solid #c4933a66;border-radius:2px;margin-top:.75rem;padding:.2rem .6rem;font-size:.7rem;font-weight:500;display:inline-block}.contact{background:var(--charcoal)}.contact .section-title{color:var(--cream)}.contact .section-subtitle{color:#f7f4ef80}.contact .section-eyebrow{color:var(--accent)}.contact-grid{grid-template-columns:1fr 1fr;align-items:start;gap:4rem;display:grid}.form-field{margin-bottom:1.25rem}.form-label{letter-spacing:.08em;color:#f7f4ef73;text-transform:uppercase;margin-bottom:.5rem;font-size:.78rem;font-weight:500;display:block}.form-input{width:100%;font-family:var(--sans);color:var(--cream);background:#f7f4ef0f;border:.5px solid #f7f4ef26;border-radius:2px;outline:none;padding:.85rem 1rem;font-size:.9rem;transition:border-color .2s}.form-input::placeholder{color:#f7f4ef33}.form-input:focus{border-color:var(--accent)}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.form-submit{background:var(--accent);width:100%;font-family:var(--sans);color:var(--charcoal);cursor:pointer;letter-spacing:.02em;border:none;border-radius:2px;margin-top:.5rem;padding:1rem;font-size:.9rem;font-weight:500;transition:opacity .2s}.form-submit:hover{opacity:.85}.form-submit:disabled{opacity:.5;cursor:not-allowed}.form-note{color:#f7f4ef40;margin-top:.75rem;font-size:.78rem;line-height:1.6}.form-success{color:var(--accent);background:#c4933a1a;border:.5px solid #c4933a4d;border-radius:4px;margin-top:1rem;padding:1rem 1.25rem;font-size:.9rem}.form-error{color:#e07070;background:#c832321a;border:.5px solid #c832324d;border-radius:4px;margin-top:1rem;padding:1rem 1.25rem;font-size:.9rem}.contact-promise{background:#c4933a0d;border:.5px solid #c4933a4d;border-radius:4px;padding:2rem}.contact-promise-title{font-family:var(--serif);color:var(--cream);margin-bottom:1rem;font-size:1.1rem;font-style:italic;font-weight:500}.promise-item{color:#f7f4ef99;align-items:flex-start;gap:.75rem;margin-bottom:.75rem;font-size:.85rem;line-height:1.5;display:flex}.promise-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:4px;height:4px;margin-top:.5rem}footer{background:#131311;border-top:.5px solid #f7f4ef0f;justify-content:space-between;align-items:center;padding:2rem 3rem;display:flex}.footer-logo{font-family:var(--serif);color:#f7f4ef80;font-size:1.1rem}.footer-meta{color:#f7f4ef33;text-align:right;font-size:.75rem;line-height:1.7}@media (max-width:900px){.nav{padding:1rem 1.5rem}.section{padding:4rem 1.5rem}.hero{grid-template-columns:1fr}.hero-right{min-height:280px}.proof-grid{grid-template-columns:1fr 1fr}.reviews-grid{grid-template-columns:1fr}.portfolio-grid{grid-template-columns:1fr 1fr}.process-steps{grid-template-columns:1fr 1fr;gap:2rem}.process-steps:before{display:none}.contact-grid,.before-after-strip{grid-template-columns:1fr}footer{text-align:center;flex-direction:column;gap:1rem}.footer-meta{text-align:center}}@media (max-width:600px){.proof-grid,.portfolio-grid,.process-steps,.reviews-grid,.form-row{grid-template-columns:1fr}}
