:root{--color-bg: #F6F5F3;--color-bg-alt: #EDEAE5;--color-ink: #1B1B1A;--color-ink-soft: #4A4845;--color-accent: #8C5A3C;--color-accent-2: #4A4F57;--color-accent-ink: #F6F5F3;--color-border: #DAD6CF;--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-display: Georgia, "Times New Roman", serif;--space-1: .5rem;--space-2: 1rem;--space-3: 1.5rem;--space-4: 2.5rem;--space-5: 4rem;--space-6: 6.5rem;--max-width: 72rem;--max-width-narrow: 42rem;--radius: 4px;--transition: .18s ease}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--color-bg: #383633;--color-bg-alt: #423F3B;--color-ink: #F6F5F3;--color-ink-soft: #CFC9C3;--color-accent: #C08159;--color-accent-2: #9BA1A9;--color-accent-ink: #241F1A;--color-border: #55514B}}:root[data-theme=dark]{--color-bg: #383633;--color-bg-alt: #423F3B;--color-ink: #F6F5F3;--color-ink-soft: #CFC9C3;--color-accent: #C08159;--color-accent-2: #9BA1A9;--color-accent-ink: #241F1A;--color-border: #55514B}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--color-bg);color:var(--color-ink);font-family:var(--font-body);font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased}img,svg{display:block;max-width:100%}a{color:inherit;text-decoration-color:var(--color-accent);text-underline-offset:.2em}h1,h2,h3{font-family:var(--font-display);font-weight:700;line-height:1.15;margin:0 0 var(--space-2)}h1{font-size:clamp(2rem,5vw + 1rem,3.25rem)}h2{font-size:clamp(1.6rem,3vw + 1rem,2.25rem)}h3{font-size:1.15rem}p{margin:0 0 var(--space-2);color:var(--color-ink-soft)}ul,ol,dl{margin:0;padding:0}.wrap{max-width:var(--max-width);margin-inline:auto;padding-inline:var(--space-3)}.wrap--narrow{max-width:var(--max-width-narrow)}.skip-link{position:absolute;left:-999px;top:0;background:var(--color-accent);color:var(--color-accent-ink);padding:var(--space-1) var(--space-2);z-index:100}.skip-link:focus{left:var(--space-2);top:var(--space-2)}:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.site-header{position:sticky;top:0;z-index:50;background:var(--color-accent);border-bottom:1px solid color-mix(in srgb,var(--color-accent) 75%,black)}.site-header__inner{position:relative;display:flex;align-items:center;justify-content:space-between;padding-block:var(--space-2)}.brand{order:0;font-family:var(--font-display);font-weight:700;font-size:1rem;color:var(--color-accent-ink);text-decoration:none;white-space:nowrap}@media(min-width:30rem){.brand{font-size:1.1rem}}.site-header__controls{order:2;display:flex;align-items:center;gap:var(--space-2)}.site-menu{order:3;position:absolute;top:100%;left:0;right:0;display:none;flex-direction:column;background:var(--color-accent);border-bottom:1px solid color-mix(in srgb,var(--color-accent) 75%,black);padding:var(--space-1) var(--space-3) var(--space-3)}.site-menu.is-open{display:flex}.site-menu a{color:var(--color-accent-ink);text-decoration:none;padding:.6em 0;font-size:1rem}.site-menu a:not(.site-menu__cta):hover{text-decoration:underline}.site-menu__cta{display:block;text-align:center;margin-top:var(--space-2);background:var(--color-ink);color:var(--color-bg)!important;padding:.7em 1.1em;border-radius:var(--radius);font-size:.95rem;transition:background var(--transition)}.site-menu__cta:hover{background:var(--color-accent-2)}@media(min-width:56rem){.site-menu{order:1;position:static;display:flex!important;flex-direction:row;align-items:center;gap:var(--space-4);background:none;border:none;padding:0}.site-menu a{padding:0;font-size:.95rem}.site-menu__cta{display:none}}.site-nav__cta{display:none;background:var(--color-ink);color:var(--color-bg);padding:.55em 1.1em;border-radius:var(--radius);text-decoration:none;white-space:nowrap;font-size:.95rem;transition:background var(--transition)}.site-nav__cta:hover{background:var(--color-accent-2)}@media(min-width:56rem){.site-nav__cta{display:inline-block}}.theme-toggle,.menu-toggle{display:inline-flex;align-items:center;justify-content:center;width:2.1em;height:2.1em;flex-shrink:0;padding:0;border:none;border-radius:var(--radius);background:transparent;color:var(--color-accent-ink);cursor:pointer;transition:background var(--transition)}.theme-toggle:hover,.menu-toggle:hover{background:color-mix(in srgb,var(--color-accent-ink) 15%,transparent)}.theme-toggle__icon,.menu-toggle__icon{width:19px;height:19px;display:block}.theme-toggle__bulb{fill:none;transition:fill var(--transition)}.theme-toggle[data-theme-active=dark] .theme-toggle__bulb{fill:currentColor}@media(min-width:56rem){.menu-toggle{display:none}}.btn{display:inline-flex;align-items:center;gap:.5em;padding:.85em 1.5em;border-radius:var(--radius);text-decoration:none;font-weight:600;font-size:1rem;border:1px solid transparent;cursor:pointer;transition:background var(--transition),color var(--transition),border-color var(--transition)}.btn--primary{background:var(--color-ink);color:var(--color-bg)}.btn--primary:hover{background:var(--color-accent)}.btn--secondary{background:transparent;border-color:var(--color-ink);color:var(--color-ink)}.btn--secondary:hover{border-color:var(--color-accent);color:var(--color-accent)}.btn--text{background:none;padding:.85em 0;color:var(--color-ink-soft);text-decoration:underline}.btn--text:hover{color:var(--color-accent)}.hero{padding-block:var(--space-6) var(--space-5)}.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;font-weight:700;color:var(--color-accent);margin-bottom:var(--space-2)}.hero__lead{font-size:1.2rem;max-width:40rem}.hero__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin-top:var(--space-3)}.section{padding-block:var(--space-5)}.section--alt{background:var(--color-bg-alt)}.section--contact{padding-bottom:var(--space-6)}.section__lead{font-size:1.1rem;max-width:34rem}.problem-list{list-style:none;border-top:1px solid var(--color-border);margin-bottom:var(--space-4)}.problem-list li{padding-block:var(--space-3);border-bottom:1px solid var(--color-border);display:grid;gap:var(--space-1)}@media(min-width:48rem){.problem-list li{grid-template-columns:1fr 1.4fr;align-items:baseline;gap:var(--space-4)}}.problem-list h3,.problem-list p{margin:0}.service-list{display:grid;gap:var(--space-4);margin-top:var(--space-4)}@media(min-width:48rem){.service-list{grid-template-columns:repeat(2,1fr);gap:var(--space-4) var(--space-5)}}.service-list dt{font-family:var(--font-display);font-weight:700;font-size:1.15rem;color:var(--color-ink);margin-bottom:.35em}.service-list dd{margin:0}.steps{list-style:none;counter-reset:step;display:grid;gap:var(--space-4);margin-top:var(--space-4)}@media(min-width:48rem){.steps{grid-template-columns:repeat(4,1fr)}}.steps li{display:flex;flex-direction:column;gap:var(--space-1)}.steps__num{font-family:var(--font-display);font-size:2rem;font-weight:700;color:var(--color-accent);line-height:1}.steps h3{margin-bottom:.25em}.steps p{margin:0}.section--tech summary{cursor:pointer;list-style:none}.section--tech summary::-webkit-details-marker{display:none}.section--tech summary h2{display:inline-flex;align-items:center;gap:.5em;font-size:clamp(1.3rem,2vw + 1rem,1.75rem)}.section--tech summary h2:after{content:"+";font-size:1.5rem;color:var(--color-accent);transition:transform var(--transition)}.section--tech details[open] summary h2:after{transform:rotate(45deg)}.tech-content{margin-top:var(--space-3)}.tech-list{list-style:none;display:flex;flex-wrap:wrap;gap:.6em;margin-top:var(--space-2)}.tech-list li{border:1px solid var(--color-border);border-radius:var(--radius);padding:.4em .9em;font-size:.9rem;color:var(--color-ink-soft)}.faq-list{border-top:1px solid var(--color-border);margin-top:var(--space-4)}.faq-list details{border-bottom:1px solid var(--color-border);padding-block:var(--space-2)}.faq-list summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary h3{margin:0}.faq-list summary:after{content:"+";flex-shrink:0;font-size:1.3rem;color:var(--color-accent);transition:transform var(--transition)}.faq-list details[open] summary:after{transform:rotate(45deg)}.faq-list details p{margin:var(--space-2) 0 0}.about{display:grid;gap:var(--space-4)}@media(min-width:48rem){.about{grid-template-columns:16rem 1fr;align-items:start;gap:var(--space-5)}}.about__photo{aspect-ratio:1;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;background:var(--color-bg)}.about__photo-mark{font-family:var(--font-display);font-weight:700;font-size:3.5rem;color:var(--color-accent)}.about__modusflow{margin-top:var(--space-3)}.contact-form{display:grid;gap:var(--space-3);margin-top:var(--space-4)}@media(min-width:40rem){.contact-form{grid-template-columns:1fr 1fr}}.field{display:flex;flex-direction:column;gap:.4em}.field--full{grid-column:1 / -1}.field--actions{display:flex;align-items:center;gap:var(--space-3);flex-direction:row;flex-wrap:wrap}label{font-weight:600;font-size:.9rem}input:not([type=checkbox]),textarea{font:inherit;padding:.75em .9em;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-ink)}input:not([type=checkbox]):focus,textarea:focus{border-color:var(--color-accent)}.field--consent{flex-direction:row;align-items:flex-start;gap:.6em}.field--consent input[type=checkbox]{margin-top:.3em;width:1.1em;height:1.1em;flex-shrink:0;accent-color:var(--color-accent)}.field--consent label{font-weight:400;font-size:.85rem;color:var(--color-ink-soft)}.field--consent label a{color:var(--color-ink)}.form-status{margin:0;font-size:.9rem;color:var(--color-ink-soft)}.contact-alt{margin-top:var(--space-4);font-size:.95rem}.site-footer{border-top:1px solid var(--color-border);padding-block:var(--space-3)}.site-footer__inner{display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--space-2);font-size:.85rem;color:var(--color-ink-soft)}.site-footer a{text-decoration:underline}.site-footer__legal{display:flex;gap:var(--space-3)}.legal-content{padding-block:var(--space-4) var(--space-3)}.legal-content h1{margin-top:var(--space-2)}.legal-content h2{font-size:1.2rem;margin-top:var(--space-4)}.legal-content ul{margin:0 0 var(--space-2);padding-left:1.2em;color:var(--color-ink-soft)}.legal-content li{margin-bottom:.4em}@media(prefers-reduced-motion:no-preference){[data-reveal]{opacity:0;transform:translateY(12px);transition:opacity .5s ease,transform .5s ease}[data-reveal].is-visible{opacity:1;transform:none}}
