/* Finishing sections: contrast, photography and distinct surfaces. */

.pricing-feature{background:white;color:#cbd5c5}
.pricing-surface{position:relative;isolation:isolate;overflow:hidden;background:var(--ink);padding:50px 48px;border:1px solid #253b2c;border-radius:8px}
.pricing-backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%;z-index:-2;opacity:.55}
.pricing-surface:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#101512b8 5%,#10151299 50%,#10151266);z-index:-1}
.pricing-feature .price-panel{background:transparent;padding:0;border-radius:0;gap:45px;grid-template-columns:1fr 1.1fr;align-items:center}
.pricing-feature .price-panel h2{color:white;font-size:clamp(34px,3.5vw,49px)}
.pricing-feature .price-panel .eyebrow{color:#b5d49a}
.pricing-feature .price-panel p:not(.eyebrow):not(.price){color:#bfcbb9;line-height:1.95;font-size:13px;max-width:430px}
.pricing-feature .price-right{padding:0;border:0;align-items:stretch}
.price-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.price-option{min-width:0;padding:26px 22px;background:#18312299;border:1px solid #ffffff24;border-radius:6px;backdrop-filter:blur(8px)}
.price-option>span{display:block;font-size:14px;font-weight:800;line-height:1.5;letter-spacing:.025em;color:#e2efd7;min-height:63px}
.pricing-feature .price-option .price{font-size:64px;color:white;line-height:1.2;margin:20px 0 0;white-space:nowrap;letter-spacing:-.055em}
.pricing-feature .price-option .price small{font-size:17px;color:#c7ddb6;letter-spacing:0}
.pricing-feature .price-right .button{background:var(--green);color:var(--ink);margin-top:18px;font-size:12px}
.pricing-feature .price-right .button:hover{background:#98d457}
.pricing-feature .price-panel .pricing-note{max-width:none;margin:16px 0 0;color:#d8e7ce;font-size:12px;line-height:1.7}

.faq.section{display:block;background:#f7f8f5;padding-block:100px}
.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:65px;align-items:start}
.faq-layout>div:first-child>p:not(.eyebrow){font-size:13px;max-width:350px;color:var(--muted)}
.faq-context-photo{margin-top:32px;max-width:390px;aspect-ratio:1.5;overflow:hidden;border-radius:7px;border:1px solid #dce3d5}
.faq-context-photo img{width:100%;height:100%;object-fit:cover;object-position:center 65%}
.benefits-layout .benefits-visual img{object-position:center 76%}
.faq-list{display:grid;gap:12px}
.faq-list details{background:white;border:1px solid #dce4d5;border-radius:7px;overflow:hidden;transition:border-color .2s,background .2s}
.faq-list details[open]{border-color:#86a66a;background:#f0f5e9}
.faq-list summary{display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;align-items:baseline;padding:20px 50px 20px 22px;font-size:14px;line-height:1.6}
.faq-number{font-size:10px;font-weight:750;color:#698650;letter-spacing:.05em}
.faq-question{min-width:0}
.faq-list summary:after{width:24px;height:24px;display:grid;place-items:center;right:16px;top:19px;border-radius:50%;background:#edf2e7;color:#527b33;font-size:19px;line-height:1}
.faq-list details[open] summary:after{background:#dce8cd}
.faq-list p{padding:0 30px 24px 62px;margin:0;font-size:13px;line-height:1.9;color:#4e6047}

.area.section{background:var(--forest);color:#d6e2ce;position:relative;padding-block:58px}
.area .area-grid{gap:60px}
.area h2{color:white;font-size:clamp(29px,2.8vw,39px);margin-bottom:18px}
.area .eyebrow.green{color:#b7d69c;margin-bottom:16px}
.area .area-grid p:not(.eyebrow){color:#c8d7bf;font-size:12px;line-height:1.85;margin-bottom:16px}
.area .area-grid .location-label{display:inline-flex;border:1px solid #ffffff30;border-radius:4px;background:#ffffff08;color:#d4e9c2!important;padding:8px 13px;font-size:11px;font-weight:650}
.area .area-grid .text-link{color:var(--green);display:flex;width:fit-content;margin-top:4px}
.area .map-box{border:1px solid #ffffff30;border-radius:8px;box-shadow:0 16px 45px #06180d24}
.area .map-box iframe{height:260px;filter:none}
.area .map-box>a{padding:10px 15px;font-weight:650;color:var(--forest);background:white;font-size:10px}

.contact.section{gap:40px;align-items:start}
.contact-copy{background:#f0f4eb;border:1px solid #e1e8da;padding:40px 34px;border-radius:8px;color:#56634f}
.contact-copy h2{color:var(--ink);font-size:clamp(30px,3vw,42px);margin-bottom:23px}
.contact-copy .eyebrow.green{color:#5b7b40;font-size:9px}
.contact-copy>p:not(.eyebrow){color:#617057;line-height:1.95}
.contact-copy .contact-info{padding-block:5px 12px;margin-block:22px;border-block:1px solid #d9e2d0}
.contact-copy .contact-info>span{color:#69815a;font-size:9px}
.contact-copy .contact-info a,.contact-copy .contact-info p{color:var(--forest);font-size:16px;font-weight:650}
.contact-copy .social-links{gap:9px;margin-top:25px}
.contact-copy .social-links a{border-color:#d9e2d0;background:#ffffff80}
.contact-copy .social-links a:hover{border-color:var(--green);background:#82c3410b}
.contact-copy .social-links span{color:#718068}
.contact-copy .social-links strong{color:var(--forest)}
.contact-copy .social-links b{color:#608d36}
.contact-copy>p.fineprint{font-size:10px;color:#78876e;margin-bottom:0;line-height:1.85}
.contact form{padding:35px;background:white;border-color:#dfe6d7;border-radius:8px;box-shadow:0 12px 40px #193d2b08}
.contact form h3{font-size:25px}
.contact form input,.contact form select,.contact form textarea{background:#f8faf5;border-color:#dce4d4}
.contact form input:focus,.contact form select:focus,.contact form textarea:focus{background:white}
.contact .form-grid label:has(input[name=area]){grid-column:1/-1}
.contact form .button.dark{background:var(--forest);font-size:13px}
.contact form .button.dark:hover{background:#274f34}

@media(max-width:1100px){
 .pricing-surface{padding:40px 30px}
 .pricing-feature .price-panel{gap:35px;grid-template-columns:.9fr 1.1fr}
 .price-option{padding:23px 16px}
 .pricing-feature .price-option .price{font-size:55px}
 .pricing-feature .price-option .price small{font-size:15px}
 .faq-layout{gap:45px}
 .contact.section{gap:25px}
 .contact-copy{padding:30px 24px}
 .contact form{padding:30px 24px}
}
@media(max-width:760px){
 .pricing-surface{padding:32px 22px}
 .pricing-feature .price-panel{grid-template-columns:1fr;gap:30px;padding:0}
 .pricing-feature .price-panel h2{font-size:34px}
 .pricing-feature .price-panel p:not(.eyebrow):not(.price){max-width:none;font-size:12px}
 .pricing-backdrop{opacity:.42;object-position:65% center}
 .price-options{gap:12px}
 .price-option{padding:22px 15px}
 .price-option>span{font-size:12px;letter-spacing:.01em;min-height:54px}
 .pricing-feature .price-option .price{font-size:49px}
 .pricing-feature .price-option .price small{font-size:13px}
 .pricing-feature .price-right .button{font-size:11px}
 .faq.section{padding-block:65px}
 .faq-layout{grid-template-columns:1fr;gap:28px}
 .faq-layout>div:first-child>p:not(.eyebrow){max-width:none;font-size:12px}
 .faq-context-photo{max-width:none;aspect-ratio:2.2;margin-top:24px}
 .faq-list summary{padding:18px 46px 18px 16px;font-size:13px;grid-template-columns:22px minmax(0,1fr);gap:9px}
 .faq-list summary:after{right:13px;top:17px;width:22px;height:22px}
 .faq-list p{padding:0 18px 22px 47px;font-size:12px}
 .area.section{padding-block:40px}
 .area h2{font-size:29px}
 .area .map-box iframe{height:230px}
 .area .area-grid{gap:22px}
 .contact.section{gap:22px}
 .contact-copy{padding:30px 24px}
 .contact-copy h2{font-size:32px}
 .contact-copy .contact-info a,.contact-copy .contact-info p{font-size:15px}
 .contact form{padding:28px 22px}
}
@media(max-width:560px){.price-options{grid-template-columns:1fr}.price-option>span{min-height:0}.pricing-feature .price-option .price{margin-top:15px}}
@media(max-width:380px){
 .price-options{grid-template-columns:1fr}
 .price-option{display:flex;align-items:center;justify-content:space-between;gap:10px}
 .price-option>span{min-height:0;max-width:130px;font-size:12px}
 .pricing-feature .price-option .price{margin:0;font-size:40px}
}
@media(prefers-reduced-motion:reduce){.faq-list details{transition:none}}

/* Final review: readable copy and room for longer translated labels. */
.service p,.special-card>p,.benefit-list p,.steps p{font-size:14px;line-height:1.85}
.service h4,.special-card h4{overflow-wrap:anywhere;hyphens:auto}
.service .card-link,.special-card .card-link{min-height:44px}
.form-grid label{font-size:12px}
.form-grid input,.form-grid select,.form-grid textarea{font-size:14px}
.form-grid input::placeholder,.form-grid textarea::placeholder{font-size:13px;color:#68716a;opacity:1}
.consent{font-size:12px;line-height:1.7;align-items:start}
.consent input{width:18px;height:18px;flex:0 0 18px;margin-top:2px;accent-color:var(--forest)}
.contact-copy>p.fineprint,.contact form .fineprint{font-size:11px}
.area .area-grid p:not(.eyebrow){font-size:13px}
.faq-list p{font-size:14px}
.footer-top>div>a,.footer-top>div>p{font-size:12px}
.footer-bottom{font-size:11px}
@media(min-width:761px) and (max-width:1000px){
 .pricing-feature .price-panel{grid-template-columns:1fr}
 .pricing-feature .price-panel p:not(.eyebrow):not(.price){max-width:650px}
}
@media(min-width:761px) and (max-width:900px){
 .services.basic-services,.special-grid{grid-template-columns:1fr}
 .basic-services .service-photo,.special-photo{height:280px}
}
@media(max-width:760px){
 .hero-content{padding-block:48px 32px}
 .hero-stats{position:relative;bottom:auto;margin-top:auto;margin-bottom:calc(76px + env(safe-area-inset-bottom))}
 .service p,.special-card>p,.benefit-list p,.steps p,.faq-list p{font-size:13px}
 .form-grid input,.form-grid select,.form-grid textarea{font-size:16px}
 .consent{font-size:11px}
 .footer-top>div>a:not(:first-child){font-size:12px}
 .footer-bottom{font-size:10px}
}

/* Form values use regular text; field labels retain their emphasis. */
.form-grid input,.form-grid select,.form-grid textarea{font-weight:400}
.form-grid input::placeholder,.form-grid textarea::placeholder{font-weight:400}
.form-grid select{font-size:14px;line-height:1.5;min-height:48px;cursor:pointer}
.form-grid select:required:invalid{color:#68716a}
.form-grid select option{font-size:14px;font-weight:400;color:var(--ink);background:white}
@media(max-width:760px){
 .form-grid select{font-size:13px;min-height:52px}
}
/* Supporting browsers can style the native picker without replacing its accessibility. */
@supports (appearance:base-select){
 .form-grid select,.form-grid select::picker(select){appearance:base-select}
 .form-grid select{align-items:center;gap:12px}
 .form-grid select::picker-icon{color:#68716a;font-size:11px}
 .form-grid select::picker(select){
  min-width:anchor-size(width);max-width:calc(100vw - 40px);max-height:310px;
  margin-block:6px;padding:5px;border:1px solid #dce4d4;border-radius:8px;
  background:white;box-shadow:0 12px 32px #10151218;font-family:Manrope,Arial,sans-serif;
 }
 .form-grid select option{min-height:44px;padding:11px 12px;border-radius:4px;line-height:1.5;white-space:normal;overflow-wrap:anywhere;cursor:pointer}
 .form-grid select option:hover,.form-grid select option:focus{background:#f0f4eb;outline:none}
 .form-grid select option:checked{background:#e8f1df;color:var(--forest)}
 .form-grid select option::checkmark{color:var(--forest)}
 .form-grid select option[value=""]{color:#68716a}
}
.contact .form-grid select,.contact .form-grid select option{font-size:13px}
