*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--clr-primary:#2d3436;--clr-accent:#b8860b;--clr-accent-dark:#8b6914;--clr-light:#faf9f7;--clr-cream:#f5f0e8;--clr-warm:#e8e0d5;--clr-text:#3d3d3d;--clr-muted:#6b6b6b;--font-main:'Georgia',serif;--font-accent:'Trebuchet MS',sans-serif;--max-content:680px;--max-wide:1100px;--space-xs:0.5rem;--space-sm:1rem;--space-md:2rem;--space-lg:3.5rem;--space-xl:5rem}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:var(--font-main);background:var(--clr-light);color:var(--clr-text);line-height:1.7}
img{max-width:100%;height:auto;display:block}
a{color:var(--clr-accent-dark);text-decoration:none;transition:color .2s}
a:hover{color:var(--clr-accent)}
.wrap{width:90%;max-width:var(--max-content);margin:0 auto}
.wrap--wide{max-width:var(--max-wide)}

header{background:var(--clr-cream);border-bottom:1px solid var(--clr-warm);position:relative;z-index:100}
.header-inner{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm) 0}
.logo{font-family:var(--font-accent);font-size:1.35rem;font-weight:700;color:var(--clr-primary);letter-spacing:.5px}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:var(--space-xs)}
.nav-toggle span{display:block;width:24px;height:2px;background:var(--clr-primary);margin:5px 0;transition:transform .3s}
.main-nav ul{display:flex;gap:var(--space-md);list-style:none}
.main-nav a{font-family:var(--font-accent);font-size:.9rem;color:var(--clr-text);text-transform:uppercase;letter-spacing:1px;padding:var(--space-xs) 0;position:relative}
.main-nav a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--clr-accent);transition:width .3s}
.main-nav a:hover::after{width:100%}

.hero-editorial{padding:var(--space-xl) 0;background:linear-gradient(135deg,var(--clr-cream) 0%,var(--clr-light) 100%);text-align:center}
.hero-editorial h1{font-size:clamp(2rem,5vw,3.2rem);font-weight:400;line-height:1.25;margin-bottom:var(--space-md);color:var(--clr-primary)}
.hero-editorial .lead{font-size:1.15rem;color:var(--clr-muted);max-width:540px;margin:0 auto var(--space-md)}
.hero-img{margin:var(--space-lg) auto 0;max-width:100%;border-radius:4px;box-shadow:0 20px 60px rgba(0,0,0,.1)}

.section{padding:var(--space-xl) 0}
.section--cream{background:var(--clr-cream)}
.section--warm{background:var(--clr-warm)}
.section--dark{background:var(--clr-primary);color:var(--clr-light)}
.section--dark h2,.section--dark h3{color:var(--clr-light)}
.section--dark a{color:var(--clr-accent)}

.article-block{margin-bottom:var(--space-lg)}
.article-block h2{font-size:1.85rem;font-weight:400;margin-bottom:var(--space-sm);color:var(--clr-primary)}
.article-block h3{font-size:1.4rem;font-weight:400;margin-bottom:var(--space-sm);color:var(--clr-primary)}
.article-block p{margin-bottom:var(--space-sm)}
.article-block p:last-child{margin-bottom:0}

.inline-img{margin:var(--space-md) 0;border-radius:4px;overflow:hidden}
.inline-img.float-left{float:left;margin:0 var(--space-md) var(--space-sm) 0;max-width:45%}
.inline-img.float-right{float:right;margin:0 0 var(--space-sm) var(--space-md);max-width:45%}
.img-caption{font-size:.85rem;color:var(--clr-muted);font-style:italic;margin-top:var(--space-xs);text-align:center}
.clearfix::after{content:'';display:table;clear:both}

.cta-inline{display:inline-block;background:var(--clr-accent);color:#fff;padding:var(--space-sm) var(--space-md);font-family:var(--font-accent);font-size:.95rem;border-radius:3px;border:none;cursor:pointer;transition:background .2s,transform .2s}
.cta-inline:hover{background:var(--clr-accent-dark);color:#fff;transform:translateY(-2px)}
.cta-block{display:block;text-align:center;margin:var(--space-md) 0}
.cta-secondary{background:transparent;border:2px solid var(--clr-accent);color:var(--clr-accent)}
.cta-secondary:hover{background:var(--clr-accent);color:#fff}
.cta-large{padding:var(--space-sm) var(--space-lg);font-size:1.1rem}

.sticky-cta{position:fixed;bottom:0;left:0;right:0;background:rgba(45,52,54,.97);padding:var(--space-sm);display:flex;justify-content:center;align-items:center;gap:var(--space-md);transform:translateY(100%);transition:transform .4s;z-index:999}
.sticky-cta.visible{transform:translateY(0)}
.sticky-cta p{color:var(--clr-light);font-size:.9rem;margin:0}

.quote-block{border-left:3px solid var(--clr-accent);padding-left:var(--space-md);margin:var(--space-md) 0;font-style:italic;color:var(--clr-muted)}
.quote-block cite{display:block;margin-top:var(--space-xs);font-size:.9rem;font-style:normal;color:var(--clr-text)}

.testimonial-card{background:#fff;padding:var(--space-md);border-radius:4px;box-shadow:0 4px 20px rgba(0,0,0,.06);margin-bottom:var(--space-md)}
.testimonial-card p{font-style:italic;margin-bottom:var(--space-sm)}
.testimonial-author{display:flex;align-items:center;gap:var(--space-sm)}
.testimonial-avatar{width:48px;height:48px;border-radius:50%;background:var(--clr-warm);display:flex;align-items:center;justify-content:center;font-family:var(--font-accent);font-weight:700;color:var(--clr-accent)}
.testimonial-name{font-weight:700;font-size:.95rem}
.testimonial-meta{font-size:.8rem;color:var(--clr-muted)}

.split-content{display:flex;gap:var(--space-lg);align-items:center}
.split-content>*{flex:1}
.split-content.reverse{flex-direction:row-reverse}

.services-list{display:flex;flex-direction:column;gap:var(--space-md)}
.service-item{background:#fff;padding:var(--space-md);border-radius:4px;border:1px solid var(--clr-warm);display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-md);transition:box-shadow .3s}
.service-item:hover{box-shadow:0 8px 30px rgba(0,0,0,.08)}
.service-info h3{font-size:1.2rem;margin-bottom:var(--space-xs)}
.service-info p{color:var(--clr-muted);font-size:.95rem}
.service-price{text-align:right;white-space:nowrap}
.service-price .price{font-family:var(--font-accent);font-size:1.5rem;font-weight:700;color:var(--clr-accent-dark)}
.service-price .price-note{font-size:.8rem;color:var(--clr-muted)}

.form-section{background:var(--clr-cream);padding:var(--space-xl) 0}
.form-wrap{background:#fff;padding:var(--space-lg);border-radius:4px;box-shadow:0 10px 40px rgba(0,0,0,.08);max-width:560px;margin:0 auto}
.form-wrap h2{text-align:center;margin-bottom:var(--space-md)}
.form-group{margin-bottom:var(--space-md)}
.form-group label{display:block;font-family:var(--font-accent);font-size:.9rem;margin-bottom:var(--space-xs);color:var(--clr-text)}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:var(--space-sm);border:1px solid var(--clr-warm);border-radius:3px;font-family:var(--font-main);font-size:1rem;transition:border-color .2s}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--clr-accent)}
.form-group textarea{min-height:100px;resize:vertical}
.form-submit{width:100%;padding:var(--space-sm);background:var(--clr-accent);color:#fff;border:none;border-radius:3px;font-family:var(--font-accent);font-size:1rem;cursor:pointer;transition:background .2s}
.form-submit:hover{background:var(--clr-accent-dark)}

.urgency-banner{background:linear-gradient(90deg,var(--clr-accent) 0%,var(--clr-accent-dark) 100%);color:#fff;text-align:center;padding:var(--space-sm)}
.urgency-banner p{margin:0;font-family:var(--font-accent)}

.features-grid{display:flex;flex-wrap:wrap;gap:var(--space-md)}
.feature-item{flex:1 1 280px;text-align:center;padding:var(--space-md)}
.feature-icon{font-size:2.5rem;margin-bottom:var(--space-sm)}
.feature-item h3{font-size:1.1rem;margin-bottom:var(--space-xs)}
.feature-item p{font-size:.9rem;color:var(--clr-muted)}

.about-hero{background:linear-gradient(135deg,var(--clr-warm) 0%,var(--clr-cream) 100%);padding:var(--space-xl) 0}
.page-title{font-size:clamp(1.8rem,4vw,2.5rem);font-weight:400;margin-bottom:var(--space-md);color:var(--clr-primary)}

.contact-info{display:flex;flex-direction:column;gap:var(--space-md)}
.contact-item{display:flex;align-items:flex-start;gap:var(--space-sm)}
.contact-icon{font-size:1.3rem;color:var(--clr-accent)}
.contact-details h3{font-size:1rem;font-weight:700;margin-bottom:var(--space-xs)}
.contact-details p{color:var(--clr-muted);font-size:.95rem}

footer{background:var(--clr-primary);color:var(--clr-light);padding:var(--space-lg) 0 var(--space-md)}
.footer-content{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:var(--space-md);margin-bottom:var(--space-md)}
.footer-brand{max-width:280px}
.footer-brand .logo{color:var(--clr-light);margin-bottom:var(--space-sm)}
.footer-brand p{font-size:.9rem;color:rgba(255,255,255,.7)}
.footer-links h4{font-family:var(--font-accent);font-size:.9rem;text-transform:uppercase;letter-spacing:1px;margin-bottom:var(--space-sm);color:var(--clr-light)}
.footer-links ul{list-style:none}
.footer-links a{color:rgba(255,255,255,.7);font-size:.9rem;line-height:2}
.footer-links a:hover{color:var(--clr-accent)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:var(--space-md);text-align:center;font-size:.85rem;color:rgba(255,255,255,.5)}

.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:#fff;padding:var(--space-md);box-shadow:0 -4px 20px rgba(0,0,0,.1);display:none;z-index:1000}
.cookie-banner.show{display:block}
.cookie-inner{display:flex;justify-content:space-between;align-items:center;gap:var(--space-md);flex-wrap:wrap;max-width:var(--max-wide);margin:0 auto}
.cookie-text{flex:1;font-size:.9rem}
.cookie-text a{text-decoration:underline}
.cookie-buttons{display:flex;gap:var(--space-sm)}
.cookie-btn{padding:var(--space-xs) var(--space-sm);border-radius:3px;font-family:var(--font-accent);font-size:.85rem;cursor:pointer;border:none}
.cookie-accept{background:var(--clr-accent);color:#fff}
.cookie-reject{background:var(--clr-warm);color:var(--clr-text)}

.thanks-wrap{min-height:60vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:var(--space-xl) var(--space-md)}
.thanks-icon{font-size:4rem;color:var(--clr-accent);margin-bottom:var(--space-md)}
.thanks-wrap h1{font-size:2rem;margin-bottom:var(--space-sm)}
.thanks-wrap p{color:var(--clr-muted);margin-bottom:var(--space-md)}

.policy-content{padding:var(--space-xl) 0}
.policy-content h1{font-size:1.8rem;margin-bottom:var(--space-md)}
.policy-content h2{font-size:1.3rem;margin:var(--space-md) 0 var(--space-sm)}
.policy-content p,.policy-content ul{margin-bottom:var(--space-sm)}
.policy-content ul{padding-left:var(--space-md)}

@media(max-width:768px){
.nav-toggle{display:block}
.main-nav{position:absolute;top:100%;left:0;right:0;background:var(--clr-cream);padding:var(--space-md);display:none}
.main-nav.open{display:block}
.main-nav ul{flex-direction:column;gap:var(--space-sm)}
.split-content{flex-direction:column}
.split-content.reverse{flex-direction:column}
.inline-img.float-left,.inline-img.float-right{float:none;max-width:100%;margin:var(--space-md) 0}
.service-item{flex-direction:column}
.service-price{text-align:left}
.footer-content{flex-direction:column;text-align:center}
.footer-brand{max-width:100%}
.cookie-inner{flex-direction:column;text-align:center}
.sticky-cta{flex-direction:column;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm)}
}
