:root{--ink:#202521;--muted:#686c66;--gold:#c9a668;--paper:#f8f7f3;--line:#dedfd6}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.7}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}a,button,input,select,textarea{outline-offset:5px}a:focus-visible,button:focus-visible{outline:2px solid var(--gold)}header{height:100px;padding:0 6%;display:flex;justify-content:space-between;align-items:center;background:#191d1a;color:#fff}.brand{display:flex;align-items:center;gap:12px}.brand svg{width:54px;fill:none;stroke:var(--gold);stroke-width:2.5;stroke-linecap:round}.brand strong{display:block;font-family:Georgia,serif;letter-spacing:9px;font-weight:400;font-size:30px;line-height:1.1;color:var(--gold)}.brand small{display:block;letter-spacing:1.6px;font-size:8px;margin-top:5px}nav{display:flex;align-items:center;gap:35px;font-size:13px}nav>a:hover,.text-link:hover{color:var(--gold)}.nav-cta{border:1px solid #8a7956;padding:11px 20px}.nav-cta span{padding-left:25px}.hero{min-height:670px;position:relative;background:#30362c;color:white;display:flex;align-items:center;overflow:hidden}.hero-photo,.hero-shade{position:absolute;inset:0}.hero-photo{background:url('https://images.unsplash.com/photo-1600585154340-be6161a56a0c?auto=format&fit=crop&w=2400&q=90') center 53%/cover}.hero-shade{background:linear-gradient(90deg,rgba(12,20,15,.91),rgba(12,20,15,.59) 48%,rgba(12,20,15,.12)),linear-gradient(0deg,rgba(12,20,15,.6),transparent 30%)}.hero-content{position:relative;padding:65px 8% 110px;animation:enter .8s ease-out}.eyebrow{font-size:11px;letter-spacing:2.6px;font-weight:700;color:#9d7c41;margin:0 0 22px}.hero .eyebrow{color:#ddc28e}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Manrope',sans-serif;font-weight:500;line-height:1.12;letter-spacing:-2px}h1{font-size:clamp(48px,5.5vw,78px);margin-bottom:22px}em{font-family:Georgia,serif;font-weight:400;color:var(--gold)}h1 em{font-style:italic}.hero-tagline{font-size:17px;letter-spacing:2px;margin-bottom:16px}.hero-description{font-size:15px;color:#dbddd6;line-height:1.8}.hero-actions{display:flex;gap:14px;margin-top:32px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:30px;border:1px solid transparent;padding:15px 23px;font-size:13px;font-weight:700;cursor:pointer;transition:background .2s,transform .2s}.gold{background:var(--gold);color:#1d241e}.gold:hover{background:#ddbe87;transform:translateY(-2px)}.outline{border-color:#ffffff80;background:#ffffff08;color:white}.outline:hover{background:#ffffff20}.hero-bottom{position:absolute;bottom:25px;left:8%;right:6%;display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:2px}.hero-bottom a{letter-spacing:0;font-size:12px}.photo-label{color:#d4d9ce;font-size:8px;letter-spacing:1px}.service-strip{background:#eae9e1;padding:23px 8%;display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:600;letter-spacing:1px}.service-strip i{font-size:20px;font-style:normal;color:#a58b58}.section{max-width:1440px;margin:auto;padding:100px 8%}.about{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center}.about-image{position:relative;height:460px}.about-image img{width:100%;height:100%;object-fit:cover}.image-label{position:absolute;top:15px;left:15px;background:#1a201bd9;color:white;padding:4px 9px;font-size:8px;letter-spacing:1px}.image-badge{position:absolute;bottom:-18px;right:-23px;padding:25px 35px;background:#222b24;color:white;font-size:22px;line-height:1.3}.image-badge em{font-size:26px}h2{font-size:clamp(34px,3.5vw,48px);margin-bottom:26px}h2 em{color:#a2844c}.about-copy>p:not(.eyebrow){font-size:14px;color:var(--muted);line-height:1.9}.text-link{display:inline-flex;border-bottom:1px solid #ae965f;gap:40px;font-weight:600;font-size:13px;margin-top:13px;padding-bottom:7px}.services-section{background:#eeefe9}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;margin-bottom:40px}.section-heading h2{margin-bottom:0}.section-heading>p{font-size:13px;color:var(--muted);max-width:340px;margin-bottom:4px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-left:1px solid #d2d5c9}.service-grid article{position:relative;padding:28px 23px 22px;border:1px solid #d2d5c9;border-left:0}.service-number{font-size:10px;color:#757e6f;letter-spacing:2px}.service-icon{font-family:Georgia,serif;color:#a2844c;font-size:49px;line-height:1.6;margin-top:18px}h3{font-size:18px;line-height:1.35;letter-spacing:-.4px;font-weight:600}.service-grid p{font-size:13px;line-height:1.85;color:var(--muted);margin-bottom:28px}.service-grid a{display:flex;justify-content:space-between;gap:10px;font-size:11px;font-weight:700}.service-grid a:hover{color:#96763d}.gallery{display:grid;grid-template-columns:1.3fr 1fr;gap:24px}figure{margin:0;position:relative;height:350px;overflow:hidden}figure img{width:100%;height:100%;object-fit:cover;transition:transform .4s}figure:hover img{transform:scale(1.025)}figcaption{position:absolute;bottom:0;left:0;right:0;padding:45px 24px 20px;color:#fff;background:linear-gradient(transparent,#101a13df);display:flex;flex-direction:column;gap:4px}figcaption span{font-size:17px}figcaption small{font-size:8px;letter-spacing:1.6px}.gallery-note{font-size:11px;color:var(--muted);margin-top:20px}.contact-section{background:#202923;color:#fff}.contact-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:80px}.contact-copy{padding-top:18px}.contact-copy .eyebrow{color:var(--gold)}.contact-copy h2 em{color:var(--gold)}.contact-copy>p:not(.eyebrow){color:#c1c9bf;font-size:14px}.contact-method{margin-top:35px;border-top:1px solid #ffffff25;padding-top:20px;display:flex;flex-direction:column;align-items:flex-start}.contact-method>span{font-size:9px;letter-spacing:1.8px;color:#b4bfae;margin-bottom:8px}.contact-method a{font-size:23px}.contact-method small{color:#aeb9ac;font-size:12px}.contact-copy .contact-note{font-size:11px!important;margin-top:25px}form{background:#fbfaf6;color:var(--ink);padding:35px}form h3{font-size:25px;margin-bottom:7px}.form-intro{font-size:12px;color:var(--muted)}.setup-notice{background:#eee8da;border-left:2px solid #b18e50;padding:10px 12px;font-size:11px;line-height:1.6;margin-bottom:22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px 16px}label{font-size:11px;font-weight:600;display:flex;flex-direction:column;gap:6px;position:relative}label>span{display:inline;position:absolute;left:auto;right:0;color:#8d6b31}label small{font-size:10px;font-weight:400;color:#72766d}.full{grid-column:1/-1}input,select,textarea{width:100%;padding:10px 11px;border:1px solid #d8dbd1;background:transparent;border-radius:0;font-size:12px;color:var(--ink);min-width:0}input:focus,select:focus,textarea:focus{outline:2px solid #b5965d}textarea{resize:vertical}.upload{border:1px dashed #c4c8bc;padding:13px}.upload input{border:0;padding:5px 0;font-size:10px}input::file-selector-button{border:1px solid #c4c8bc;background:#eeefe9;padding:6px 8px;margin-right:8px;cursor:pointer}.privacy{font-size:10px;color:#72766d;line-height:1.7;margin:18px 0}form .button{width:100%}button:disabled{opacity:.6;cursor:not-allowed;transform:none}.honey{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}#form-status{font-size:13px;margin:12px 0 0}footer{padding:45px 8% 20px;background:#171d18;color:#b8c0b4}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-bottom:35px}.footer-brand{font-family:Georgia,serif;font-size:30px;letter-spacing:8px;color:var(--gold);line-height:1.4}.footer-brand span{font-family:'DM Sans',sans-serif;display:block;font-size:7px;letter-spacing:1.4px;color:#b8c0b4}.footer-top p{font-size:12px;margin:0}.footer-top>div a{display:block;font-size:11px}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #ffffff15;padding-top:18px;font-size:10px}.skip{position:absolute;top:-100px;left:20px;z-index:10;background:white;padding:10px}.skip:focus{top:10px}@keyframes enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1500px){.hero-content{padding-left:calc((100vw - 1200px)/2)}header{padding-left:8%;padding-right:8%}}@media(max-width:1000px){header{padding:0 5%;height:85px}nav{gap:20px}.section{padding:70px 6%}.about{gap:45px}.about-image{height:420px}.service-grid{grid-template-columns:1fr 1fr}.contact-layout{gap:35px}form{padding:25px}.hero{min-height:640px}.hero-content{padding-left:6%}.service-strip{padding-left:6%;padding-right:6%;font-size:10px}.gallery figure{height:310px}}@media(max-width:650px){header{height:88px}.brand svg{width:39px}.brand strong{font-size:25px}.brand small{font-size:6px;letter-spacing:1px}nav>a:not(.nav-cta){display:none}nav .nav-cta{padding:9px 12px;font-size:11px}.nav-cta span{padding-left:8px}.hero{min-height:650px}.hero-content{padding:55px 6% 100px}.hero .eyebrow{font-size:9px;letter-spacing:1.7px}h1{font-size:53px;letter-spacing:-2px}.hero-photo{background-position:60% center}.hero-shade{background:linear-gradient(90deg,#111b13e8,#111b1380)}.hero-tagline{font-size:13px;letter-spacing:1px}.hero-description{font-size:13px}.hero-actions{flex-wrap:wrap;gap:10px}.button{font-size:12px;padding:14px 18px;gap:24px}.hero-bottom{left:6%;right:6%;flex-wrap:wrap;gap:15px}.hero-bottom>span:first-child{display:none}.photo-label{font-size:7px}.service-strip{display:grid;grid-template-columns:1fr 1fr;gap:10px 15px;font-size:10px}.service-strip i{display:none}.section{padding:60px 6%}.about{grid-template-columns:1fr;gap:52px}.about-image{height:350px;margin-right:15px}.image-badge{right:-15px;padding:20px 25px;font-size:20px}h2{font-size:36px;letter-spacing:-1.6px}.section-heading{display:block}.section-heading>p{margin-top:22px}.service-grid article{padding:22px 15px}.service-grid h3{font-size:16px;min-height:44px}.service-grid p{font-size:12px}.service-grid a{font-size:10px}.gallery{grid-template-columns:1fr;gap:18px}.gallery figure{height:310px}.contact-layout{grid-template-columns:1fr;gap:35px}.contact-copy{padding-top:0}form{padding:25px 20px}.form-grid{grid-template-columns:1fr}label{grid-column:1/-1}.footer-top{flex-direction:column;align-items:flex-start;gap:24px}.footer-bottom{gap:20px;align-items:flex-start}.footer-bottom>a{white-space:nowrap}footer{padding:35px 6% 20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Version 2: compact service summary. */
.services-summary{background:#eae9e1;scroll-margin-top:20px}
.services-summary .service-strip{gap:16px;font-size:11px;letter-spacing:.3px}
.services-summary>p{margin:0;padding:0 8% 20px;text-align:center;font-size:12px;color:var(--muted)}
@media(max-width:1000px){.services-summary .service-strip{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px}.services-summary .service-strip i{display:none}}
@media(max-width:650px){.services-summary .service-strip{font-size:11px;align-items:start}.services-summary>p{padding:0 6% 22px;text-align:left}#services{scroll-margin-top:0}}

/* Version 3: service locations and direct contact options. */
.hero-location{color:#ddd3bc;font-size:12px;letter-spacing:1px;margin:-12px 0 20px}
.hero-actions{flex-wrap:wrap}
[data-business-name].eyebrow{text-transform:uppercase}
.service-area{border-top:1px solid var(--line)}
.service-area>p:not(.eyebrow){max-width:820px;color:var(--muted);font-size:14px}
.business-location{color:#c9a668;font-size:12px;letter-spacing:1px}
.footer-location{display:block;font-size:12px;margin-bottom:6px}
.contact-method a,.contact-method small,.footer-top>div{overflow-wrap:anywhere}
@media(max-width:650px){.hero-actions{display:grid;grid-template-columns:1fr 1fr;max-width:360px}.hero-actions>a:first-child{grid-column:1/-1}.hero-actions .button{gap:10px}.hero-content{padding-top:40px}.hero-location{font-size:11px}}

/* Estimate system: selection feedback stays inside the existing form. */
#selected-photos{padding-left:18px;margin:0;font-size:11px;color:var(--muted);overflow-wrap:anywhere}
#selected-photos:empty{display:none}
#turnstile-verification{margin:12px 0;max-width:100%;overflow:auto}
#turnstile-verification:empty{display:none}
#form-status{overflow-wrap:anywhere}
