:root{--space-1:.5rem;--space-2:1rem;--space-3:1.5rem;--space-4:2rem;--space-5:3rem;--space-6:4rem;--section-pad:clamp(3rem,6vw,5rem);--h1:clamp(2rem,4vw,2.5rem);--h2:1.6rem;--h3:1.25rem;--body:1rem;--small:.875rem;--eyebrow:.72rem;--radius-card:10px;--radius-button:8px;--radius-input:5px}.site-body{margin:0;background:var(--color-background);color:var(--color-text-primary);font-family:var(--font-body);font-size:var(--body);line-height:1.65;overflow-x:hidden}.site-body *{box-sizing:border-box}.site-body h1,.site-body h2,.site-body h3{font-family:var(--font-display);line-height:1.2;text-wrap:balance}.site-body h1{font-size:var(--h1)}.site-body h2{font-size:var(--h2)}.site-body h3{font-size:var(--h3)}.site-body p{max-width:72ch;text-wrap:pretty}.eyebrow{font-size:var(--eyebrow);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-primary)}.heading-mark{position:relative;display:inline-block;padding-bottom:.55rem}.heading-mark::after{content:"";position:absolute;left:0;bottom:0;width:3.25rem;height:3px;background:var(--color-accent)}.text-center .heading-mark::after{left:50%;transform:translateX(-50%)}.hairline{border-color:color-mix(in srgb,var(--color-secondary) 28%,transparent)}.utility{background:var(--color-text-primary);color:var(--color-background);font-size:var(--small)}.utility a:hover{text-decoration:underline;text-underline-offset:3px}.main-nav{background:var(--color-surface);border-bottom:1px solid color-mix(in srgb,var(--color-secondary) 28%,transparent)}.brand-logo{width:42px;height:42px;object-fit:contain;border-radius:8px}.nav-link{font-weight:700;padding:.5rem 0;border-bottom:3px solid transparent}.nav-link:hover,.nav-link[aria-current="page"]{color:var(--color-primary);border-color:var(--color-accent)}.nav-toggle{border:1px solid color-mix(in srgb,var(--color-secondary) 45%,transparent);border-radius:8px;padding:.55rem .75rem;background:var(--color-surface)}.button-primary,.button-inverted,.button-outline{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:.7rem 1.15rem;border-radius:var(--radius-button);font-weight:700;text-decoration:none;transition:background-color .2s,color .2s,border-color .2s}.button-primary{background:var(--color-primary);color:#fff;border:0}.button-primary:hover{background:var(--color-primary-dark)}.button-outline{background:transparent;color:var(--color-primary);border:1px solid var(--color-primary)}.button-outline:hover{background:var(--color-primary);color:#fff}.button-inverted{background:var(--color-background);color:var(--color-text-primary);border:0}.button-inverted:hover{background:var(--color-surface)}.band{padding:var(--section-pad) clamp(1rem,4vw,4rem);border-top:1px solid color-mix(in srgb,var(--color-secondary) 28%,transparent)}.hero-band{padding-top:clamp(4rem,8vw,7rem);padding-left:0;padding-right:0}.hero-copy{padding:0 clamp(1rem,4vw,4rem);max-width:980px;margin:0 auto}.hero-strip{margin-top:clamp(2.5rem,5vw,4.5rem);height:clamp(240px,34vw,470px);width:100%;object-fit:cover;border-radius:0}.about-band{background:var(--color-surface);padding-top:calc(var(--section-pad) * 1.5);padding-bottom:calc(var(--section-pad) * 1.5)}.services-band,.contact-band{background:color-mix(in srgb,var(--color-primary-light) 25%,var(--color-background))}.process-band{background:var(--color-text-primary);color:var(--color-background);padding-top:calc(var(--section-pad) * .6);padding-bottom:calc(var(--section-pad) * .6)}.process-band .eyebrow{color:var(--color-background)}.process-band .heading-mark::after{background:var(--color-accent)}.work-card,.service-row,.price-card{border:1px solid color-mix(in srgb,var(--color-secondary) 32%,transparent);border-radius:var(--radius-card);overflow:hidden;background:var(--color-surface)}.work-card img{width:100%;height:230px;object-fit:cover;border-radius:8px 8px 0 0}.work-card-content{padding:var(--space-4)}.price{font-family:var(--font-display);font-size:1.35rem;color:var(--color-primary);font-variant-numeric:tabular-nums;font-weight:700}.contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0}.contact-visual{background:var(--color-primary);color:#fff;padding:var(--section-pad) clamp(1rem,4vw,4rem)}.contact-cell{padding:var(--section-pad) clamp(1.5rem,4vw,4rem);border-left:1px solid color-mix(in srgb,var(--color-secondary) 28%,transparent)}.number{font-family:var(--font-display);font-size:2rem;color:var(--color-accent);font-variant-numeric:tabular-nums}.content-section{padding:var(--section-pad) clamp(1rem,4vw,4rem);border-top:1px solid color-mix(in srgb,var(--color-secondary) 28%,transparent)}.content-wrap{max-width:1120px;margin:0 auto}.narrow-wrap{max-width:880px;margin:0 auto}.prose{max-width:72ch}.detail-list{list-style:none;padding:0;margin:1.25rem 0}.detail-list li{padding:.65rem 0;border-bottom:1px solid color-mix(in srgb,var(--color-secondary) 24%,transparent)}.detail-list li::before{content:counter(item,decimal-leading-zero);counter-increment:item;color:var(--color-accent);font-weight:700;margin-right:.8rem}.detail-list{counter-reset:item}.form-shell{background:var(--color-surface);border:1px solid color-mix(in srgb,var(--color-secondary) 32%,transparent);border-radius:var(--radius-card);padding:clamp(1.25rem,4vw,2.5rem)}label{display:block;font-weight:700;margin-bottom:.4rem}input,select,textarea{width:100%;border:1px solid color-mix(in srgb,var(--color-secondary) 55%,transparent);background:#fff;color:var(--color-text-primary);border-radius:var(--radius-input);padding:.75rem;font:inherit}textarea{min-height:150px;resize:vertical}input:focus,select:focus,textarea:focus{outline:3px solid color-mix(in srgb,var(--color-primary-light) 45%,transparent);border-color:var(--color-primary)}input[type="checkbox"]{width:auto}.form-status{margin-top:1rem;padding:1rem;border-left:3px solid var(--color-accent);background:var(--color-background)}.footer{background:var(--color-text-primary);color:var(--color-background);padding:var(--space-6) clamp(1rem,4vw,4rem) var(--space-3)}.footer a{color:var(--color-background);text-decoration:underline;text-decoration-color:var(--color-accent);text-underline-offset:4px}.footer input{background:var(--color-surface)}.cookie-banner{position:fixed;z-index:60;left:1rem;right:1rem;bottom:1rem;max-width:720px;margin:auto;background:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-secondary);border-radius:var(--radius-card);padding:1rem}.cookie-banner[hidden]{display:none}.legal-main{padding:var(--section-pad) 1rem}.legal-main article{max-width:800px;margin:0 auto}.legal-main h2{margin-top:2.5rem}.map-link{text-decoration:underline;text-decoration-color:var(--color-accent);text-decoration-thickness:2px;text-underline-offset:4px}.skip-link{position:absolute;left:1rem;top:-5rem;z-index:100;background:var(--color-surface);padding:.75rem}.skip-link:focus{top:1rem}.phone-number{font-variant-numeric:tabular-nums}@media(max-width:767px){.utility-inner{align-items:flex-start}.nav-menu{display:none}.nav-menu.is-open{display:flex}.contact-grid{grid-template-columns:1fr}.contact-cell{border-left:0;border-top:1px solid color-mix(in srgb,var(--color-secondary) 28%,transparent)}.work-card img{height:210px}.band{padding-left:1rem;padding-right:1rem}.hero-band{padding-left:0;padding-right:0}}@media(min-width:768px){.nav-toggle{display:none}.nav-menu{display:flex!important}}