:root{--ink:#18362f;--green:#205a45;--lime:#d6e79c;--muted:#64756e;--cream:#f8f9f3;--line:#dce3dc}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;color:var(--ink);background:var(--cream);font:16px/1.7 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}a:hover{color:#387458}h1,h2,h3{line-height:1.12;letter-spacing:-.045em;margin:0 0 22px}h1{font-size:clamp(40px,5vw,72px);font-weight:650}h2{font-size:clamp(30px,3vw,44px)}h3{font-size:24px}p{margin:0 0 24px}.wrap{width:min(1180px,90%);margin:auto}.top{background:var(--ink);color:#e3ecd9;font-size:12px;padding:9px 0}.top .wrap{display:flex;justify-content:space-between}.header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 0}.brand{font-size:20px;font-weight:bold;letter-spacing:-.04em;display:flex;align-items:center;gap:12px}.logo{display:inline-flex;background:var(--green);color:white;width:44px;height:44px;border-radius:10px;align-items:center;justify-content:center;font-size:28px}.logo span{font-size:18px;color:var(--lime)}nav{display:flex;gap:24px;font-size:14px;font-weight:bold}.button,button{display:inline-block;background:var(--green);border:0;color:white;border-radius:8px;padding:15px 24px;font:600 15px/1.4 Arial;cursor:pointer;text-align:center}.button:hover,button:hover{background:#173e32;color:white}.small{padding:11px 16px;font-size:13px}.green{background:#386a27}.secondary{background:#e5eadf;color:var(--ink)}.hero{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;padding:55px 0 72px}.hero p{color:var(--muted);font-size:18px;max-width:490px}.eyebrow{display:block;font-size:11px;font-weight:bold;letter-spacing:.16em;margin-bottom:24px;color:var(--green)}.hero-art{background:#e6ebda;position:relative;border-radius:100px 16px 16px 16px;overflow:hidden;min-height:440px}.hero-art img{width:100%;height:440px;object-fit:cover}.art-label{position:absolute;left:28px;bottom:28px;padding:15px 20px;background:var(--cream);border-radius:8px;font-size:11px;line-height:1.8;box-shadow:0 8px 30px #18362f10}.art-label strong{font-size:18px}.hero-notes{display:flex;gap:22px;font-size:12px;margin-top:25px}.strip{border-block:1px solid var(--line);padding:25px 0}.strip .wrap{display:flex;justify-content:space-between;color:var(--muted);font-size:15px}.section{padding-top:75px;padding-bottom:75px}.intro{color:var(--muted);max-width:680px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.card{display:block;background:#fff;border:1px solid var(--line);padding:27px;border-radius:12px;transition:transform .2s}.card:hover{transform:translateY(-3px)}.card p{font-size:14px;color:var(--muted)}.number{display:block;color:#879c69;margin-bottom:42px;font-size:13px}.card h3{font-size:23px}.arrow{font-size:13px;font-weight:bold}.process{background:#e8eddc}.three{grid-template-columns:repeat(3,1fr)}.step{font-size:35px;color:#80906b;display:block;margin:16px 0}.regions{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.regions a{display:flex;justify-content:space-between;background:white;border:1px solid var(--line);padding:20px;border-radius:8px;font-weight:bold;font-size:15px}.faq{padding-top:25px;max-width:840px}.faq details{border-bottom:1px solid var(--line);padding:22px 0}.faq summary{cursor:pointer;font-weight:bold}.faq p{margin-top:18px;color:var(--muted)}.quote{background:var(--ink);color:#fff;padding:80px 0}.quote-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:70px}.quote .eyebrow{color:var(--lime)}.quote h2{font-size:52px}.quote p{color:#c3d0c6}.quote .button{background:var(--lime);color:var(--ink);margin:0 8px 10px 0}.quote-form{background:white;border-radius:14px;color:var(--ink);padding:30px}.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:block;font-size:13px;font-weight:bold;margin-bottom:16px}input,textarea,select{display:block;width:100%;border:1px solid #cfd9cf;background:#fafcf8;color:var(--ink);border-radius:6px;padding:12px;font:15px Arial;margin-top:7px}input:focus,textarea:focus,select:focus{outline:2px solid #82a67c;outline-offset:1px}.check{display:flex;align-items:flex-start;gap:9px;font-size:12px;font-weight:normal}.check input{width:auto;margin:4px 0;flex-shrink:0}.check a{text-decoration:underline}.fine{font-size:12px;margin-top:24px}.honeypot{position:absolute;left:-10000px}.notice{padding:14px 18px;background:#e6eed4;color:var(--ink)!important;border-radius:6px}.article{max-width:850px}.article-img{width:100%;height:280px;object-fit:cover;border-radius:12px;margin-bottom:35px}.article h2{font-size:30px;margin-top:40px}.tags{font-size:12px;color:var(--muted)}footer{background:#f0f3e9;padding:55px 0 18px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:65px;font-size:14px}.footer-grid .brand{margin-bottom:24px}.footer-grid a:not(.brand){display:block;margin-bottom:8px}.footer-grid h3{font-size:16px;letter-spacing:0}.copyright{border-top:1px solid var(--line);padding-top:20px;margin-top:30px;font-size:12px}.floating{position:fixed;right:20px;bottom:18px;display:flex;gap:8px;z-index:5}.floating .button{padding:12px 16px;font-size:13px;box-shadow:0 3px 16px #0002}.mobile{display:none}.login{max-width:520px;margin:7vh auto;background:white;padding:42px;border:1px solid var(--line);border-radius:16px}.login h1{font-size:40px}.admin-body{background:#f1f4ed}.admin-shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.admin-shell aside{background:var(--ink);color:#ecf3e1;padding:35px 24px}.admin-shell aside .brand span{color:var(--lime)}.admin-shell aside nav{display:flex;flex-direction:column;gap:8px;margin:22px 0 35px}.admin-shell aside nav a{padding:12px;border-radius:6px}.admin-shell aside nav a:hover,.admin-shell aside nav .active{background:#315348;color:#fff}.muted{font-size:11px;opacity:.65;margin-top:18px;letter-spacing:.12em}.admin-main{padding:45px;max-width:1400px;min-width:0}.admin-main h1{font-size:42px}.panel{background:white;border:1px solid var(--line);border-radius:12px;padding:28px;margin-top:25px;margin-bottom:22px}.panel h2{font-size:25px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px}td,th{text-align:left;padding:15px;border-bottom:1px solid var(--line)}.danger{background:#944646}.inline{display:inline-flex;align-items:center;gap:12px;margin:10px 12px 0 0}.inline select{width:auto;margin:0}.pagination{display:flex;gap:30px}.admin-main .cards h2{font-size:50px}
@media(max-width:1000px){.cards{grid-template-columns:repeat(2,1fr)}.three{grid-template-columns:repeat(3,1fr)}.hero{gap:28px}.hero-art,.hero-art img{min-height:350px;height:350px}.desktop{display:none}.mobile{display:block;position:relative}.mobile summary{cursor:pointer;font-size:14px}.mobile nav{position:absolute;right:0;top:35px;z-index:10;background:white;padding:22px;box-shadow:0 5px 25px #0002;flex-direction:column;width:180px}.quote-grid{gap:35px}.regions{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.top span{display:none}.header{flex-wrap:wrap;padding:18px 0}.header .button{display:none}.brand{font-size:18px}.hero{grid-template-columns:1fr;padding-top:25px}.hero-art{min-height:320px}.hero-art img{height:320px}.hero h1{font-size:49px}.strip .wrap{flex-wrap:wrap;gap:12px;font-size:12px}.section{padding-block:50px}.cards,.three{grid-template-columns:1fr}.card{padding:24px}.number{margin-bottom:20px}.quote-grid{grid-template-columns:1fr}.quote{padding:50px 0}.quote h2{font-size:42px}.two{grid-template-columns:1fr;gap:0}.quote-form{padding:22px}.footer-grid{grid-template-columns:1fr;gap:25px}.regions{grid-template-columns:1fr 1fr}.regions a{padding:15px;font-size:13px}.login{margin:25px 5%;padding:28px}.admin-shell{grid-template-columns:1fr}.admin-shell aside{padding:22px}.admin-shell aside nav{flex-direction:row;flex-wrap:wrap;font-size:12px;margin:15px 0}.admin-shell aside nav a{padding:8px}.admin-main{padding:25px 5%}.admin-main h1{font-size:35px}.panel{padding:20px}.hero-notes{font-size:11px;gap:12px}}

/* Packaged photographic assets: local files, no third-party requests. */
.card-photo{display:block;width:calc(100% + 54px);max-width:none;height:175px;object-fit:cover;margin:-27px -27px 24px;border-radius:11px 11px 0 0}.card .number{margin-bottom:20px}.hero-art img{display:block;object-position:center}.visual-story{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.visual-story>img{width:100%;height:400px;object-fit:cover;border-radius:16px}.visual-story p{color:var(--muted)}.article-img{height:420px}.card .eyebrow{margin-bottom:16px}
@media(max-width:700px){.card-photo{width:calc(100% + 48px);margin:-24px -24px 22px;height:220px}.visual-story{grid-template-columns:1fr;gap:28px}.visual-story>img{height:290px}.article-img{height:260px}}

/* Contact form in the upper-right column; stacked layout on mobile. */
.hero{grid-template-columns:minmax(0,1fr) minmax(430px,1.05fr);align-items:start;gap:42px;padding-top:30px}.hero>div:first-child{min-width:0}.hero h1{font-size:clamp(36px,4.4vw,62px)}.hero .hero-art{margin-top:28px;min-height:280px;border-radius:16px}.hero .hero-art img{height:280px;min-height:0}.top-quote{min-width:0;background:white;border:1px solid var(--line);border-radius:16px;box-shadow:0 12px 38px #18362f0b;overflow:hidden;scroll-margin-top:20px}.quote-heading{padding:24px 26px 0}.quote-heading .eyebrow{margin-bottom:10px}.quote-heading h2{font-size:27px;letter-spacing:-.025em;margin-bottom:8px}.quote-heading p{font-size:14px;color:var(--muted);margin-bottom:0}.top-quote .quote-form{padding:22px 26px 26px}.top-quote .quote-form label{font-size:13px;margin-bottom:13px}.top-quote .quote-form .two{gap:14px}.top-quote .quote-form textarea{min-height:84px;resize:vertical}.top-quote .check{line-height:1.5}.top-quote .check a{display:contents}.top-quote button{width:100%}.page-top{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(390px,1fr);gap:42px;align-items:start;padding-top:30px;padding-bottom:55px}.page-top>.article{width:100%;max-width:none;padding-top:15px;padding-bottom:0;min-width:0}.page-top .article h1{font-size:clamp(34px,4vw,56px)}.page-top .article .regions{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-band{padding:48px 0}.contact-band .wrap>div{max-width:780px}.contact-band h2{font-size:38px}.top-quote input,.top-quote textarea,.top-quote select{min-width:0}
@media(max-width:1000px){.hero{grid-template-columns:minmax(0,1fr) minmax(370px,1fr);gap:26px}.hero h1{font-size:42px}.page-top{grid-template-columns:minmax(0,1fr) minmax(360px,1fr);gap:26px}}
@media(max-width:800px){.hero,.page-top{grid-template-columns:minmax(0,1fr)}.hero{padding-top:25px;gap:28px}.hero .hero-art,.hero .hero-art img{height:250px;min-height:0}.hero h1{font-size:clamp(36px,8vw,52px)}.page-top>.top-quote{grid-row:2}.top-quote .quote-form .two{grid-template-columns:1fr 1fr}.top-quote .quote-form .check{font-size:12px}}
@media(max-width:480px){.top-quote .quote-form .two{grid-template-columns:1fr;gap:0}.top-quote .quote-form{padding:20px}.quote-heading{padding:22px 20px 0}.page-top .article .regions{grid-template-columns:1fr}.hero .hero-art,.hero .hero-art img{height:220px}}

/* Keep service photography inside compact, uniform cards. */
.card{overflow:hidden;min-width:0}.card-photo{height:175px;object-fit:cover;object-position:center}.cards{align-items:stretch}@media(max-width:700px){.card-photo{height:190px}}
