
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--color-text);background:var(--color-bg);line-height:1.7;text-rendering:optimizeLegibility}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none;transition:color var(--transition),opacity var(--transition)}
a:hover{color:var(--color-accent-dark)}
p{margin:0 0 var(--space-3);color:var(--color-text-soft)}
ul{margin:0;padding-left:1.1rem;color:var(--color-text-soft)}
ol{color:var(--color-text-soft)}
h1,h2,h3,h4{margin:0 0 var(--space-3);line-height:1.14;letter-spacing:-0.02em;font-family:"Playfair Display",Georgia,"Times New Roman",serif;color:var(--color-text)}
h1{font-size:clamp(2.6rem,4vw,4.25rem)}h2{font-size:clamp(2rem,3vw,3rem)}h3{font-size:clamp(1.35rem,2vw,1.75rem)}
small,.meta,.eyebrow{color:var(--color-text-muted)}
.container{width:min(calc(100% - 2rem),var(--container));margin-inline:auto}
.section{padding:var(--space-9) 0}.section--alt{background:var(--color-surface-alt)}.section--tight{padding:var(--space-8) 0}
.eyebrow{display:inline-block;margin-bottom:var(--space-3);text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;font-weight:700}
.lead{font-size:1.125rem;max-width:760px}.center{text-align:center}
.grid{display:grid;gap:var(--space-5)}.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.card{background:var(--color-surface);border:1px solid rgba(31,35,40,.06);border-radius:var(--radius-md);padding:var(--space-5);box-shadow:var(--shadow-card);transition:transform var(--transition),box-shadow var(--transition)}
.card:hover{transform:translateY(-4px);box-shadow:0 16px 45px rgba(31,35,40,.1)}
.card__icon{width:56px;height:56px;border-radius:14px;display:grid;place-items:center;background:rgba(184,155,114,.12);color:var(--color-accent-dark);margin-bottom:var(--space-4);font-weight:700}
.badge{display:inline-flex;align-items:center;gap:.5rem;padding:.55rem .95rem;border-radius:999px;background:rgba(184,155,114,.12);color:var(--color-accent-dark);font-weight:700;font-size:.9rem}
.btn-row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:var(--space-5)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:.85rem 1.4rem;border-radius:14px;border:1px solid transparent;font-weight:700;letter-spacing:.01em;transition:transform var(--transition),background var(--transition),border-color var(--transition),color var(--transition),box-shadow var(--transition);cursor:pointer}
.btn:hover{transform:translateY(-2px)}
.btn--primary{background:var(--color-accent);color:#fff;box-shadow:0 10px 24px rgba(184,155,114,.28)}.btn--primary:hover{background:var(--color-accent-dark);color:#fff}
.btn--secondary{border-color:rgba(31,35,40,.18);color:var(--color-text);background:transparent}.btn--secondary:hover{background:rgba(31,35,40,.03)}
.skip-link{position:absolute;left:-999px;top:0;z-index:1000;background:var(--color-text);color:#fff;padding:.75rem 1rem}.skip-link:focus{left:1rem;top:1rem}
.site-header{position:sticky;top:0;z-index:100;background:rgba(247,246,242,.78);backdrop-filter:blur(14px);border-bottom:1px solid rgba(31,35,40,.06);transition:background var(--transition),box-shadow var(--transition),padding var(--transition)}
.site-header.is-scrolled{background:rgba(255,255,255,.93);box-shadow:0 8px 24px rgba(31,35,40,.05)}
.header-inner{min-height:var(--header-height);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}
.logo{display:inline-flex;flex-direction:column;gap:.15rem}.logo__title{font-family:"Playfair Display",Georgia,serif;font-size:1.65rem;letter-spacing:-.03em;color:var(--color-text);line-height:1}.logo__subtitle{font-size:.72rem;text-transform:uppercase;letter-spacing:.18em;color:var(--color-text-muted);font-weight:700}
.nav-toggle{display:none;background:transparent;border:0;width:46px;height:46px;border-radius:14px;color:var(--color-text);cursor:pointer}
.nav-toggle span,.nav-toggle::before,.nav-toggle::after{content:"";display:block;width:22px;height:2px;background:currentColor;margin:5px auto;transition:transform var(--transition),opacity var(--transition)}
.nav-toggle[aria-expanded="true"]::before{transform:translateY(7px) rotate(45deg)}.nav-toggle[aria-expanded="true"]::after{transform:translateY(-7px) rotate(-45deg)}.nav-toggle[aria-expanded="true"] span{opacity:0}
.site-nav{display:flex;align-items:center;gap:1.25rem}.nav-list{display:flex;align-items:center;gap:1rem;list-style:none;padding:0}.nav-list>li{position:relative}
.nav-link{font-weight:600;font-size:.98rem;color:var(--color-text-soft);padding:.5rem .2rem}.nav-link:hover,.nav-link.is-active{color:var(--color-text)}.nav-cta{margin-left:.5rem}
.dropdown>summary{list-style:none;cursor:pointer}.dropdown>summary::-webkit-details-marker{display:none}
.dropdown-menu{position:absolute;top:calc(100% + 1rem);left:0;min-width:280px;padding:1rem;background:#fff;border:1px solid rgba(31,35,40,.08);border-radius:16px;box-shadow:var(--shadow-soft);display:grid;gap:.5rem}
.dropdown-menu a{padding:.65rem .8rem;border-radius:12px;color:var(--color-text-soft);font-weight:600}.dropdown-menu a:hover{background:rgba(31,35,40,.03);color:var(--color-text)}
.hero{padding:calc(var(--space-9) + 1rem) 0 var(--space-8)}
.hero__panel{position:relative;overflow:hidden;border-radius:32px;background:radial-gradient(circle at top right, rgba(184,155,114,.28), transparent 30%),radial-gradient(circle at bottom left, rgba(255,255,255,.5), transparent 34%),linear-gradient(135deg,#f6f1e7 0%,#ece8e1 40%,#f7f6f2 100%);border:1px solid rgba(31,35,40,.06);box-shadow:var(--shadow-soft);padding:clamp(2rem,4vw,4.5rem)}
.hero__panel::after{content:"";position:absolute;inset:auto -60px -60px auto;width:260px;height:260px;background:rgba(184,155,114,.1);border-radius:50%;filter:blur(5px)}
.hero__content{position:relative;z-index:1;max-width:760px}.hero__content p{font-size:1.15rem;max-width:680px}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:var(--space-6)}.stat{background:rgba(255,255,255,.72);border:1px solid rgba(31,35,40,.06);border-radius:20px;padding:1rem 1.2rem}.stat strong{display:block;font-size:1.35rem;font-family:"Playfair Display",Georgia,serif;color:var(--color-text)}.stat span{color:var(--color-text-muted);font-size:.95rem}
.section-intro{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:var(--space-6)}.section-intro .lead{margin:0}
.feature-list{list-style:none;padding:0;display:grid;gap:1rem}.feature-list li{display:flex;gap:1rem;align-items:flex-start}.feature-list li::before{content:"✓";width:28px;height:28px;flex:0 0 28px;border-radius:999px;background:rgba(184,155,114,.12);color:var(--color-accent-dark);display:grid;place-items:center;font-weight:700;margin-top:.15rem}
.steps{display:grid;gap:1rem}.step{display:grid;grid-template-columns:auto 1fr;gap:1.25rem;align-items:start;background:var(--color-surface);border:1px solid rgba(31,35,40,.06);border-radius:18px;padding:1.1rem 1.2rem}.step__number{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:rgba(184,155,114,.16);color:var(--color-accent-dark);font-weight:800}
.project-card__media,.placeholder-image{aspect-ratio:16/10;border-radius:18px;background:linear-gradient(135deg, rgba(184,155,114,.18), rgba(31,35,40,.08)),linear-gradient(180deg,#e8e3da 0%,#f7f6f2 100%);border:1px solid rgba(31,35,40,.06);position:relative;overflow:hidden}
.project-card__media::after,.placeholder-image::after{content:attr(data-label);position:absolute;left:1rem;bottom:1rem;font-weight:700;color:rgba(31,35,40,.7);letter-spacing:.02em}
.cta-panel{border-radius:30px;background:linear-gradient(135deg,#1f2328 0%,#2a2f35 60%,#323841 100%);color:#fff;padding:clamp(2rem,4vw,4rem);box-shadow:var(--shadow-soft);overflow:hidden;position:relative}
.cta-panel::after{content:"";position:absolute;width:240px;height:240px;top:-40px;right:-50px;border-radius:50%;background:rgba(184,155,114,.18)}
.cta-panel h2,.cta-panel p{color:#fff;position:relative;z-index:1}.cta-panel p{max-width:760px}
.page-hero{padding:var(--space-7) 0 var(--space-6)}.page-hero__panel{background:linear-gradient(135deg, rgba(184,155,114,.12), rgba(236,232,225,.7));border:1px solid rgba(31,35,40,.06);border-radius:30px;padding:clamp(2rem,3.5vw,3.5rem)}
.two-column{display:grid;grid-template-columns:1.15fr .85fr;gap:var(--space-6);align-items:start}.sidebar-card{position:sticky;top:120px}.content-stack>*+*{margin-top:var(--space-5)}
.check-grid{list-style:none;padding:0;display:grid;gap:.9rem;grid-template-columns:repeat(2,minmax(0,1fr))}.check-grid li{position:relative;padding-left:1.8rem}.check-grid li::before{content:"✓";position:absolute;left:0;top:0;color:var(--color-accent-dark);font-weight:800}
.form-wrap{background:var(--color-surface);border:1px solid rgba(31,35,40,.06);border-radius:24px;padding:clamp(1.4rem,3vw,2rem);box-shadow:var(--shadow-card)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.form-field{display:grid;gap:.45rem}.form-field--full{grid-column:1/-1}
label{font-weight:700;font-size:.96rem}
input,select,textarea{width:100%;border:1px solid rgba(31,35,40,.14);border-radius:14px;padding:.95rem 1rem;font:inherit;color:var(--color-text);background:#fff;transition:border-color var(--transition),box-shadow var(--transition)}
textarea{min-height:180px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:none;border-color:rgba(184,155,114,.8);box-shadow:0 0 0 4px rgba(184,155,114,.15)}
.form-note{font-size:.94rem;color:var(--color-text-muted)}.checkbox{display:flex;align-items:flex-start;gap:.75rem}.checkbox input{width:20px;height:20px;margin-top:.2rem}
.site-footer{background:var(--color-footer);color:var(--color-footer-text);margin-top:var(--space-9)}.footer-top{padding:var(--space-8) 0 var(--space-6);display:grid;grid-template-columns:1.3fr 1fr 1fr 1.1fr;gap:var(--space-5)}
.site-footer h3,.site-footer h4{color:#fff;font-family:Inter,system-ui,sans-serif;font-size:1rem;font-weight:800;letter-spacing:.02em;margin-bottom:1rem}.site-footer p,.site-footer li,.site-footer a{color:rgba(234,229,219,.82)}.footer-list{list-style:none;padding:0;display:grid;gap:.75rem}.footer-bottom{border-top:1px solid rgba(234,229,219,.12);padding:1.2rem 0}.footer-bottom__inner{display:flex;align-items:center;justify-content:space-between;gap:1rem}.footer-bottom__links{display:flex;gap:1rem;flex-wrap:wrap}
.faq{display:grid;gap:1rem}.faq-item{background:var(--color-surface);border:1px solid rgba(31,35,40,.07);border-radius:18px;box-shadow:var(--shadow-card)}.faq-question{width:100%;border:0;background:transparent;text-align:left;padding:1.25rem 1.25rem;font:inherit;font-weight:800;color:var(--color-text);display:flex;justify-content:space-between;gap:1rem;cursor:pointer}.faq-answer{padding:0 1.25rem 1.25rem;display:none}.faq-item.is-open .faq-answer{display:block}
.notice{border-left:4px solid var(--color-accent);padding:1rem 1.25rem;background:rgba(184,155,114,.08);border-radius:0 14px 14px 0}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;border:0!important}

body.nav-open{overflow:hidden}
.content-stack{display:grid;gap:var(--space-5)}
.faq-question span{display:inline-grid;place-items:center;width:2rem;height:2rem;border-radius:999px;background:rgba(31,35,40,.04);font-size:1.6rem;line-height:1;flex:0 0 2rem}
.faq-item.is-open .faq-question span{background:rgba(184,155,114,.14);color:var(--color-accent-dark)}
.checkbox input{appearance:none;-webkit-appearance:none;width:1.35rem;height:1.35rem;border:1.5px solid rgba(31,35,40,.22);border-radius:.45rem;background:#fff;display:grid;place-items:center;flex:0 0 1.35rem}
.checkbox input::after{content:"";width:.45rem;height:.8rem;border-right:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(45deg) scale(0);transition:transform var(--transition)}
.checkbox input:checked{background:var(--color-accent);border-color:var(--color-accent)}
.checkbox input:checked::after{transform:rotate(45deg) scale(1)}
.checkbox span{display:block}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}

/* Final polish */
.nav-list{margin:0}
.dropdown-menu{display:none}
.dropdown[open]>.dropdown-menu{display:grid}
.site-nav{justify-content:flex-start;z-index:130}
.nav-toggle{position:relative;z-index:131}
body.nav-open::before{content:"";position:fixed;inset:0;background:rgba(31,35,40,.28);z-index:110}
.hero .badge{margin-bottom:1.1rem;max-width:fit-content;flex-wrap:wrap;line-height:1.35}
.hero__content h1{margin-bottom:1rem}
.hero__content>p,.page-hero__panel .lead{margin-bottom:0}
.content-stack{gap:var(--space-4)}
.about-intro .content-stack>h2+.feature-list,.service-detail .content-stack>h2+.check-grid{margin-top:var(--space-4)}
.about-intro .content-stack>h2+p,.service-detail .content-stack>h2+p{margin-bottom:0}
.service-detail .content-stack>h2:nth-of-type(2){margin-top:var(--space-6)}
.home-services .card,.home-benefits .card,.home-projects .card,.about-values .card,.service-detail .card{height:100%}
.contact-layout .two-column,.about-intro .two-column,.service-detail .two-column{align-items:start}
.contact-layout .content-stack{gap:var(--space-4)}
.form-wrap h2{margin-bottom:.7rem}
.form-wrap p{margin-bottom:1rem}
.checkbox span{line-height:1.55}
.form-note{margin-top:.2rem}
.faq-list-section .faq{max-width:900px;margin:0 auto}
.faq-question{align-items:center}
.site-footer{margin-top:var(--space-8)}
.footer-top>div{display:grid;align-content:start}
.form-status-section{padding-top:0}
.form-status-panel{max-width:820px;margin:0 auto}
.form-status-panel .btn-row{margin-top:var(--space-4)}
.form-status-panel p:last-of-type{margin-bottom:0}


/* Final targeted refinements */
.hero-kicker{display:inline-block;margin-bottom:1.15rem;font-size:.78rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--color-text-muted)}
.checkbox input:checked{background:#2563eb;border-color:#2563eb}
.form-status-contact{margin-top:1rem;margin-bottom:0;color:rgba(255,255,255,.82)}
.form-status-contact a{color:#fff}
.site-header--compact .header-inner{min-height:80px}
.header-inner--simple{justify-content:flex-start}


/* Final refinements March 2026 */
.home-benefits .sidebar-card{margin-top:var(--space-1)}
.about-intro .content-stack>h2{margin-bottom:.8rem}
.about-intro .content-stack>h2+p{margin-top:-.15rem}
.service-detail .content-stack>h2:first-of-type{margin-bottom:.85rem}
.service-detail .content-stack>h2:first-of-type+p{margin-top:-.1rem}
.service-detail .content-stack>.check-grid+h2{margin-bottom:.9rem}
.service-detail .content-stack>.check-grid+h2 + .grid{margin-top:-.2rem}

.service-projects{margin-top:var(--space-6)}
.service-projects .grid{align-items:stretch}
