
:root{--ink:#11110f;--paper:#f3efe5;--cream:#e9e1d2;--accent:#ff5838;--muted:#6e6a62;--line:rgba(17,17,15,.14)}
html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}.skip-link{position:fixed;z-index:9999;background:#fff;color:#000;padding:.75rem 1rem}.site-header{background:var(--paper)}.brand{font-size:1.3rem;font-weight:850;letter-spacing:-.045em;color:var(--ink)}.brand span,.display-title em,.contact-title span,.accent{color:var(--accent)}.nav-contact,.nav-link-custom{color:var(--ink);font-size:.9rem;font-weight:750;text-decoration:none}.nav-contact{border-bottom:1px solid var(--ink)}.nav-link-custom:hover,.nav-contact:hover{color:var(--accent);border-color:var(--accent)}
.hero{min-height:82vh;padding:6rem 0}.display-title{font-size:clamp(4rem,9vw,8.3rem);line-height:.86;letter-spacing:-.07em;font-weight:800}.display-title em{font-style:normal}.eyebrow{display:flex;align-items:center;gap:.65rem;font-size:.9rem;font-weight:750}.eyebrow:before{content:"";width:9px;height:9px;border-radius:50%;background:var(--accent)}.hero-copy{font-size:clamp(1.2rem,2vw,1.55rem);max-width:48rem;color:#3d3a35}.btn{font-weight:750}.btn-dark{--bs-btn-bg:var(--ink);--bs-btn-border-color:var(--ink)}.btn-dark:hover{--bs-btn-hover-bg:var(--accent);--bs-btn-hover-border-color:var(--accent)}.proposition{background:var(--ink);color:#fff}.proposition strong{font-size:clamp(1.2rem,2.5vw,2rem);letter-spacing:-.035em}.proposition span{color:#aaa}.section-space{padding:7rem 0}.section-label{text-transform:uppercase;letter-spacing:.13em;font-size:.76rem;font-weight:850;color:var(--muted)}h2{font-size:clamp(2.6rem,5.2vw,4.8rem);line-height:.96;letter-spacing:-.058em;font-weight:800}h3{letter-spacing:-.035em}.problems,.how,.service-detail{background:#fff}.problem{border:1px solid var(--line);border-radius:1rem;padding:1.5rem;font-size:1.12rem;font-weight:700;background:var(--paper);height:100%}.accent-problem{background:var(--accent);color:#fff;border-color:var(--accent)}.problem-answer{max-width:52rem;font-weight:600}.services{border-top:1px solid var(--line)}.service-row{border-bottom:1px solid var(--line);margin:0}.service-no{color:var(--accent);font-weight:850}.service-row h3{font-size:1.5rem;font-weight:750;margin:0}.service-row p{margin:0;color:var(--muted);max-width:42rem}.service-link{color:inherit;text-underline-offset:4px}.odd{background:var(--ink);color:#fff;border-radius:1rem;margin-top:1.5rem!important;padding-left:1rem!important;padding-right:1rem!important}.odd p{color:#aaa}.how-step{border-top:3px solid var(--ink);padding-top:1.25rem}.how-step b{color:var(--accent);font-size:.85rem}.how-step h3{font-size:1.55rem;margin:.65rem 0}.experience{background:var(--cream)}.portfolio-link{color:var(--ink);font-size:1.1rem;font-weight:800;text-underline-offset:5px}.portfolio-link:hover{color:var(--accent)}.experience-stamp{aspect-ratio:1;border:2px solid var(--ink);border-radius:50%;display:flex;flex-direction:column;justify-content:space-between;padding:3rem;text-align:center;transform:rotate(3deg)}.experience-stamp strong{font-size:clamp(2.2rem,4vw,3.7rem);line-height:.85;letter-spacing:-.07em}.experience-stamp span{font-size:.68rem;letter-spacing:.13em;font-weight:850}.local{background:#fff}.places{font-weight:800;font-size:1.1rem;line-height:2}.places span{color:var(--accent);margin:0 .25rem}.rate{background:var(--accent);color:#fff}.rate .section-label{color:rgba(255,255,255,.7)}
.page-hero{padding:6rem 0 5rem}.page-hero h1{font-size:clamp(3.4rem,7vw,6.6rem);line-height:.9;letter-spacing:-.065em;font-weight:800;max-width:65rem}.page-hero .lead{font-size:clamp(1.2rem,2vw,1.5rem);max-width:52rem}.breadcrumb-custom{font-size:.85rem;color:var(--muted)}.breadcrumb-custom a{color:inherit}.check-list{list-style:none;padding:0;margin:0}.check-list li{padding:.8rem 0 .8rem 2rem;border-bottom:1px solid var(--line);position:relative}.check-list li:before{content:"→";position:absolute;left:0;color:var(--accent);font-weight:900}.callout{background:var(--ink);color:#fff;border-radius:1.25rem;padding:clamp(2rem,5vw,4rem)}.related-card{display:block;height:100%;padding:1.5rem;border:1px solid var(--line);border-radius:1rem;color:inherit;text-decoration:none;background:var(--paper)}.related-card:hover{border-color:var(--accent);transform:translateY(-2px)}
.contact{background:var(--ink);color:#fff}.contact-title{font-size:clamp(3.1rem,6vw,6.3rem)}.contact-direct a,.footer a{color:#fff;text-underline-offset:4px}.form-control{background:#222;border:1px solid #3a3a3a;color:#fff;border-radius:.75rem;padding:.9rem 1rem}.form-control:focus{background:#222;color:#fff;border-color:var(--accent);box-shadow:0 0 0 .25rem rgba(255,88,56,.15)}.form-label{font-weight:750}.btn-accent{--bs-btn-color:#fff;--bs-btn-bg:var(--accent);--bs-btn-border-color:var(--accent);--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#e8482b;--bs-btn-hover-border-color:#e8482b}.form-note{color:#888;font-size:.85rem}.hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.footer{background:var(--ink);color:#777;padding-bottom:5rem!important}.mobile-cta{position:fixed;z-index:1000;left:1rem;right:1rem;bottom:1rem;background:var(--accent);color:#fff;text-decoration:none;text-align:center;font-weight:850;padding:.95rem 1rem;border-radius:999px;box-shadow:0 8px 30px rgba(0,0,0,.28)}.reveal{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:767.98px){.hero{min-height:auto;padding:5rem 0}.section-space{padding:4.5rem 0}.display-title{font-size:clamp(3.5rem,17vw,5.4rem)}.experience-stamp{max-width:330px;margin:auto;padding:2.4rem}.footer{padding-bottom:6rem!important}.page-hero{padding:4rem 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}
.g-5, .gy-5 {
    --bs-gutter-y: 0; 
}
.g-5, .gx-5 {
    --bs-gutter-x: 0; 
}