@charset "UTF-8";
:root{--ink:#173d3b;--muted:#64706a;--paper:#f7f7f0;--line:#dce2d8;--mint:#e6ede1;--lime:#d8ea95;--orange:#dc8d66;--white:#fff;--radius:24px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Segoe UI",Tahoma,Arial,sans-serif;line-height:1.75;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.svg-library{position:absolute;width:0;height:0;overflow:hidden}.container{width:min(1200px,calc(100% - 96px));margin-inline:auto}.skip-link{position:fixed;top:-100px;right:20px;z-index:100;background:var(--ink);color:#fff;padding:12px}.skip-link:focus{top:12px}:focus-visible{outline:3px solid #bb6a46;outline-offset:5px}h1,h2,h3,p{margin:0}button{color:inherit}section[id]{scroll-margin-top:100px}.header{border-bottom:1px solid var(--line);background:var(--paper)}.header-inner{height:100px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:11px;font-size:38px;font-weight:800;letter-spacing:-2px;line-height:1}.brand-dot{color:var(--orange)}.brand-mark{width:32px;height:34px;display:inline-grid;place-items:center;position:relative;color:var(--ink)}.brand-mark i{position:absolute;width:8px;height:32px;background:currentColor;border-radius:2px}.brand-mark i:nth-child(2){transform:rotate(60deg)}.brand-mark i:nth-child(3){transform:rotate(120deg)}.nav{display:flex;align-items:center;gap:36px;font-weight:500;font-size:15px}.nav a{position:relative}.nav a:after{content:"";height:2px;background:var(--ink);position:absolute;bottom:-6px;right:0;width:0;transition:width .2s}.nav a:hover:after{width:100%}.button{border:1px solid transparent;min-height:48px;padding:10px 23px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;gap:18px;font-size:15px;font-weight:600;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--ink);color:var(--white)}.button-dark:hover{background:#28524e}.button-large{min-height:56px;padding:13px 25px}.button svg{width:22px}.hero{display:grid;grid-template-columns:1.07fr 1fr;gap:60px;align-items:center;padding-block:72px 76px}.eyebrow{font-size:13px;font-weight:650;display:flex;align-items:center;gap:9px;letter-spacing:.1px;margin-bottom:20px}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--orange)}h1{font-size:clamp(38px,4.15vw,58px);line-height:1.46;font-weight:750;letter-spacing:-2.5px}.hero-description{font-size:17px;color:var(--muted);line-height:1.95;margin-top:26px;max-width:460px}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:30px}.text-link{display:inline-flex;align-items:center;gap:12px;font-size:14px;font-weight:600}.text-link:hover{text-decoration:underline;text-underline-offset:5px}.text-link span{font-size:20px}.language-note{display:flex;align-items:center;gap:12px;margin-top:33px}.mini-icon{width:38px;height:38px;border-radius:50%;border:1px solid #cbd5c7;display:grid;place-items:center}.mini-icon svg{width:20px}.language-note p{font-size:13px}.language-note strong{font-weight:600}.language-note small{display:block;color:var(--muted);font-size:12px;margin-top:1px}.cities-strip{border-block:1px solid var(--line);padding-block:20px}.strip-inner{display:flex;align-items:center;gap:32px}.strip-label{display:flex;align-items:center;gap:7px;white-space:nowrap;color:var(--muted);font-size:12px}.strip-label svg{width:16px;height:16px}.strip-inner p{display:flex;align-items:center;justify-content:space-between;flex:1;gap:18px;font-size:14px;font-weight:600}.strip-inner p span{font-size:10px;color:#98a78a}.section{padding-block:96px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:48px}.section-heading .eyebrow{margin-bottom:15px}.section-heading>p{font-size:15px;color:var(--muted);line-height:1.9;max-width:310px;padding-bottom:6px}h2{font-size:37px;line-height:1.55;letter-spacing:-1px;font-weight:650}.service-row{display:grid;grid-template-columns:35px 70px 1fr 48px;align-items:center;gap:27px;border-top:1px solid var(--line);padding:32px 0}.service-row:last-child{border-bottom:1px solid var(--line)}.service-icon{width:65px;height:65px;background:#e7ecdf;border-radius:18px;display:grid;place-items:center}.service-icon svg{width:29px;height:29px}.service-content h3{font-size:23px;font-weight:600;margin-bottom:7px}.service-content p{font-size:15px;color:var(--muted);max-width:740px}.service-select{background:none;border:1px solid #c6d0bd;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;transition:background .2s,transform .2s}.service-select:hover{background:var(--lime);transform:rotate(-40deg)}.service-select svg{width:20px}.areas-card{display:grid;grid-template-columns:.8fr 1fr;gap:85px;background:var(--ink);color:#f7f7ef;border-radius:28px;padding:55px 57px;position:relative;overflow:hidden}.areas-card:before{content:"";position:absolute;left:-170px;bottom:-300px;width:600px;height:600px;border:1px solid #42635b;border-radius:50%;pointer-events:none}.areas-copy .eyebrow{color:#c2d59e;margin-bottom:15px}.areas-copy h2{font-size:35px}.areas-copy>p:not(.eyebrow){color:#becbc2;font-size:14px;line-height:1.9;margin-top:19px;max-width:310px}.light-link{color:var(--lime);margin-top:27px;font-size:13px}.light-link svg{width:20px}.city-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;align-content:center;position:relative}.city-button{display:flex;align-items:center;gap:9px;background:#ffffff05;border:1px solid #4a6860;border-radius:10px;padding:19px 14px;text-align:right;color:#f0f4e8;font-size:14px;transition:background .2s,border-color .2s}.city-button:hover{background:#d8ea9512;border-color:var(--lime)}.city-button svg{width:18px;height:18px;color:#c3d497}.city-button span{margin-right:auto;font-size:10px;color:#8aa696}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:60px}.steps-grid article{position:relative}.step-dot{display:grid;place-items:center;width:40px;height:40px;background:var(--lime);border-radius:50%;font-size:16px;font-weight:650;margin-bottom:20px}.steps-grid article:not(:last-child):after{content:"";position:absolute;top:20px;right:60px;left:-30px;border-top:1px dashed #bfccb1}.steps-grid h3{font-size:21px;font-weight:600;margin-bottom:10px}.steps-grid p{font-size:15px;color:var(--muted);max-width:290px}.request-section{background:#e8eee2;padding-block:80px;border-block:1px solid #dae1d2}.request-layout{display:grid;grid-template-columns:.75fr 1fr;gap:110px;align-items:start}.request-copy{position:relative;padding-top:14px}.request-copy h2{font-size:43px;line-height:1.55}.request-copy h2 span{color:#6d7c61}.request-copy>p:not(.eyebrow){font-size:16px;color:#66735d;line-height:1.95;margin-top:23px;max-width:305px}.request-aside{display:flex;gap:11px;align-items:center;margin-top:36px;padding-top:24px;border-top:1px solid #cad6bf;max-width:330px}.request-aside svg{width:22px;color:#6d805f}.request-aside p{font-size:12px;color:#65715c}.request-aside strong{font-size:11px;font-weight:500}.request-decoration{font-size:126px;color:#bccdab;display:block;line-height:1;margin-top:55px}.request-form{background:#fffdf7;border:1px solid #d7dfcf;border-radius:20px;padding:32px}.form-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:27px}.form-top h3{font-size:20px;font-weight:600}.form-top>span{font-size:11px;color:#7f8a75}.field{margin-bottom:21px}.field label{display:block;font-size:13px;font-weight:600;margin-bottom:8px}.field label>span{color:#a85b3e}.field label small{font-size:10px;color:#8a9381;font-weight:400;margin-right:6px}.field input,.field select,.field textarea{display:block;width:100%;border:1px solid #d7dece;background:#fffefb;border-radius:8px;padding:12px 13px;color:var(--ink);font-size:13px;min-height:48px;line-height:1.7}.field select{cursor:pointer}.field textarea{resize:vertical;min-height:115px}.field textarea::placeholder{color:#8a9481;opacity:1}.field-hint{display:block;color:#7e8973;font-size:10px;margin-top:6px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-submit{width:100%;min-height:51px}.form-note{text-align:center;font-size:10px;color:#7a8570;margin-top:11px}.faq{display:grid;grid-template-columns:.7fr 1.3fr;gap:90px}.faq .eyebrow{margin-bottom:13px}.faq h2{font-size:31px}.faq-list details{border-bottom:1px solid var(--line)}.faq-list details:first-child{border-top:1px solid var(--line)}summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:20px 0;cursor:pointer;font-size:15px;font-weight:600}summary::-webkit-details-marker{display:none}summary svg{width:18px;height:18px;transition:transform .2s}details[open] summary svg{transform:rotate(45deg)}details p{font-size:14px;color:var(--muted);padding-bottom:22px;line-height:1.95}.footer{display:flex;align-items:center;gap:25px;border-top:1px solid var(--line);padding-block:29px 34px}.footer .brand{font-size:30px}.footer .brand-mark{transform:scale(.8)}.footer p{font-size:12px;color:var(--muted)}.footer>a:last-child{margin-right:auto;font-size:12px;display:flex;align-items:center;gap:14px}.footer>a:last-child svg{width:18px}dialog{width:min(540px,calc(100% - 32px));border:1px solid #d7dfcf;padding:30px;border-radius:22px;color:var(--ink);background:var(--paper);box-shadow:0 24px 100px #173d3b30;max-height:90dvh;overflow:auto}dialog::backdrop{background:#173d3b88;backdrop-filter:blur(5px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:19px}.success-icon{background:var(--lime);width:43px;height:43px;border-radius:50%;display:grid;place-items:center}.close-dialog{background:none;border:0;font-size:30px;line-height:1;width:35px;height:35px;color:var(--muted)}dialog h2{font-size:27px}.dialog-subtitle{font-size:13px;color:var(--muted);margin-top:8px}#request-preview{font-family:inherit;font-size:13px;line-height:2;white-space:pre-wrap;overflow-wrap:anywhere;max-height:300px;overflow-y:auto;background:#e9eddf;border:1px solid #d7dfcc;border-radius:10px;padding:18px;margin-block:22px}.dialog-actions{display:flex;gap:12px}.dialog-actions .button{flex:1;font-size:13px;padding-inline:12px}.button-outline{border:1px solid #b6c4ab;background:transparent}.button-outline:hover{background:#e9eddf}#copy-status{font-size:12px;min-height:24px;margin-top:10px;color:#42633c}.edit-request{display:block;margin:auto;background:none;border:0;text-decoration:underline;text-underline-offset:4px;font-size:12px;padding:8px}
@media(min-width:1500px){.hero{gap:90px}}
@media(max-width:1100px){.container{width:calc(100% - 64px)}.hero{gap:30px}h1{font-size:43px}.hero-actions{gap:17px;flex-wrap:wrap}.strip-inner{gap:20px}.strip-inner p{gap:12px;font-size:12px}.areas-card{gap:35px;padding:42px}.request-layout{gap:60px}.nav{gap:23px}.city-button{font-size:12px;padding-inline:10px}.faq{gap:50px}}
@media(max-width:850px){.container{width:calc(100% - 44px)}.header-inner{height:84px;gap:20px}.brand{font-size:33px}.nav{font-size:12px;gap:20px}.header-cta{font-size:12px;padding-inline:13px;gap:10px;min-height:42px}.hero{padding-block:48px;gap:27px}h1{font-size:36px;letter-spacing:-1.6px}.hero-description{font-size:14px}.hero-actions .button{font-size:12px;min-height:49px;padding-inline:17px}.hero-actions .text-link{font-size:12px}.strip-inner{display:block}.strip-label{margin-bottom:10px}.strip-inner p{justify-content:space-between;flex-wrap:wrap;gap:8px}.section{padding-block:68px}h2{font-size:31px}.section-heading{gap:25px}.section-heading>p{font-size:13px;max-width:240px}.service-row{gap:18px;grid-template-columns:24px 55px 1fr 40px}.service-icon{width:52px;height:52px;border-radius:15px}.service-content h3{font-size:20px}.service-content p{font-size:13px}.service-select{width:38px;height:38px}.areas-card{padding:35px;grid-template-columns:.8fr 1fr;gap:25px}.areas-copy h2{font-size:28px}.areas-copy>p:not(.eyebrow){font-size:12px}.city-grid{gap:10px}.city-button{font-size:11px;padding:15px 9px;gap:5px}.city-button svg{width:14px}.city-button span{display:none}.steps-grid{gap:30px}.steps-grid h3{font-size:18px}.steps-grid p{font-size:13px}.request-layout{gap:38px;grid-template-columns:.7fr 1fr}.request-copy h2{font-size:35px}.request-copy>p:not(.eyebrow){font-size:14px}.request-form{padding:25px}.form-grid{gap:12px}.field input,.field select,.field textarea{font-size:12px;padding-inline:9px}.faq h2{font-size:25px}.faq{gap:35px}summary{font-size:13px}.footer p{font-size:10px}}
@media(max-width:640px){html{scroll-padding-top:30px}.container{width:calc(100% - 36px)}.header-inner{height:76px}.nav{display:none}.header-cta{font-size:12px}.hero{display:flex;flex-direction:column;align-items:stretch;padding-block:39px 32px;gap:34px}.hero-copy{max-width:500px}.eyebrow{font-size:12px;margin-bottom:17px}h1{font-size:clamp(32px,8.7vw,48px);line-height:1.5;letter-spacing:-1.7px}.hero-description{font-size:15px;margin-top:20px;max-width:350px}.hero-actions{margin-top:24px;gap:22px}.hero-actions .button{font-size:13px;padding-inline:18px}.hero-actions .text-link{font-size:12px}.language-note{margin-top:25px}.language-note p{font-size:12px}.language-note small{font-size:11px}.cities-strip{padding-block:16px}.strip-inner p{font-size:12px;justify-content:flex-start;gap:7px 10px;line-height:2.1}.strip-label{font-size:11px;margin-bottom:7px}.strip-inner p span{font-size:8px}.section{padding-block:55px}.section-heading{display:block;margin-bottom:28px}h2{font-size:29px;line-height:1.5}.section-heading>p{margin-top:18px;font-size:13px;max-width:none}.section-heading>p br{display:none}.section-heading .eyebrow{margin-bottom:12px}.service-row{grid-template-columns:48px 1fr 34px;gap:13px;padding-block:25px;align-items:start}.service-icon{width:44px;height:48px;border-radius:12px}.service-icon svg{width:24px;height:24px}.service-content h3{font-size:18px;margin-bottom:7px}.service-content p{font-size:12px;line-height:1.9}.service-select{width:32px;height:32px;margin-top:7px}.service-select svg{width:16px}.areas-card{display:block;padding:29px 24px;border-radius:22px}.areas-copy h2{font-size:29px}.areas-copy>p:not(.eyebrow){font-size:13px;max-width:320px;margin-top:15px}.light-link{margin-top:20px;font-size:12px}.city-grid{margin-top:27px;gap:10px}.city-button{font-size:12px;min-height:57px;padding-inline:12px;gap:8px}.city-button svg{width:15px}.steps-grid{display:block}.steps-grid article{display:grid;grid-template-columns:38px 1fr;gap:5px 17px;padding-bottom:27px}.steps-grid article:last-child{padding-bottom:0}.step-dot{grid-row:1/3;width:35px;height:35px;font-size:14px;margin-bottom:0;margin-top:2px}.steps-grid h3{font-size:18px}.steps-grid p{font-size:13px;max-width:100%;grid-column:2}.steps-grid article:not(:last-child):after{right:17px;top:44px;left:auto;height:calc(100% - 50px);border-top:0;border-right:1px dashed #b7c6a8}.request-section{padding-block:46px}.request-layout{display:block}.request-copy{padding-top:0}.request-copy h2{font-size:33px}.request-copy>p:not(.eyebrow){font-size:14px;max-width:100%;margin-top:17px}.request-aside{margin-top:21px;padding-top:17px;max-width:none;margin-bottom:29px}.request-decoration{display:none}.request-form{padding:23px 19px;border-radius:17px}.form-top{margin-bottom:23px}.form-top h3{font-size:19px}.field{margin-bottom:18px}.field label{font-size:12px}.field input,.field select,.field textarea{font-size:13px;min-height:49px}.field input[type=date]{min-width:0;width:100%;display:block}.field-hint{font-size:10px}.form-grid{gap:12px;grid-template-columns:1fr}.form-grid .field{margin-bottom:18px}.field textarea{font-size:12px}.form-submit{font-size:13px}.form-note{font-size:9px}.faq{display:block}.faq h2{font-size:28px}.faq-list{margin-top:26px}summary{font-size:13px;min-height:65px}details p{font-size:12px}.footer{flex-wrap:wrap;padding-block:25px;gap:17px}.footer p{font-size:10px;flex:1}.footer>a:last-child{margin-right:0;width:100%;font-size:12px;border-top:1px solid var(--line);padding-top:16px;justify-content:space-between}.footer .brand{font-size:29px}.footer .brand-mark{width:25px}.footer .brand{gap:7px}dialog{padding:24px 20px}dialog h2{font-size:24px}.dialog-actions{gap:8px}.dialog-actions .button{font-size:12px;gap:8px}.dialog-subtitle{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Readable supporting text. */
.form-top>span,.field label small,.field-hint,.form-note,.field textarea::placeholder{color:var(--muted)}

.brand-personal{flex-direction:column;gap:0;letter-spacing:0;min-width:126px}.brand-personal img{width:126px;height:63px;object-fit:contain;margin-bottom:-6px}.brand-descriptor{font-size:10px;font-weight:500;color:var(--muted);line-height:1.3;padding-bottom:6px}.footer .brand-personal{gap:0}.footer .brand-personal img{width:110px;height:55px}.footer .brand-descriptor{font-size:9px}@media(max-width:640px){.brand-personal{min-width:100px}.brand-personal img{width:106px;height:53px}.brand-descriptor{font-size:9px}}

/* Interface language and direct contact. */
.header-actions{display:flex;align-items:center;gap:18px;flex-shrink:0}
.language-switch{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:8px 13px;border:1px solid #c8d2c0;border-radius:8px;font-size:13px;font-weight:600;line-height:1.3;white-space:nowrap}
.language-switch:hover{background:var(--mint)}
.direct-contact{margin-top:26px;display:flex;flex-direction:column;align-items:flex-start;gap:7px}
.direct-contact .text-link{font-size:13px;gap:8px}
.direct-contact svg{width:20px;height:20px}
.direct-contact bdi{font-size:14px;font-weight:600;letter-spacing:.4px;color:var(--muted)}
.whatsapp-action{margin-block:22px 12px}
.button-whatsapp{width:100%;background:#246044;color:#fff;border-color:#246044}
.button-whatsapp:hover{background:#174d34}
.dialog-actions #copy-request{background:transparent;color:var(--ink);border:1px solid #b6c4ab}
.dialog-actions #copy-request:hover{background:#e9eddf}
.field,.form-grid>*{min-width:0}
.city-button{text-align:start}
html[dir="ltr"] body{line-height:1.7}
html[dir="ltr"] h1{font-size:clamp(36px,3.8vw,53px);line-height:1.18;letter-spacing:-1.6px}
html[dir="ltr"] h2{line-height:1.25;letter-spacing:-.8px}
html[dir="ltr"] .hero-description{line-height:1.85}
html[dir="ltr"] .hero-actions{gap:22px}
html[dir="ltr"] .hero-actions .button{font-size:14px;padding-inline:20px;gap:13px}
html[dir="ltr"] .hero-actions .text-link{font-size:13px}
html[dir="ltr"] .button>svg use[href="#i-arrow"],html[dir="ltr"] .service-select>svg,html[dir="ltr"] .light-link>svg,html[dir="ltr"] .footer>a:last-child>svg{transform-origin:center;transform:scaleX(-1)}
html[dir="ltr"] .city-button span{margin-right:0;margin-left:auto}
html[dir="ltr"] .service-content h3{font-size:22px;line-height:1.4}
html[dir="ltr"] .steps-grid article:not(:last-child):after{left:60px;right:-30px}
html[dir="ltr"] .step-dot{font-size:14px}
html[dir="ltr"] .footer>a:last-child{margin-right:0;margin-left:auto}
html[dir="ltr"] .field label small{margin-right:0;margin-left:6px}
html[dir="ltr"] .request-copy h2{font-size:40px;line-height:1.3}
html[dir="ltr"] .request-aside p{line-height:1.8}
html[dir="ltr"] .dialog-subtitle{line-height:1.8}
@media(max-width:980px){.header-inner{gap:20px}.nav{gap:20px}.header-actions{gap:12px}html[dir="ltr"] .nav{font-size:12px;gap:16px}html[dir="ltr"] .service-content h3{font-size:20px}}
@media(max-width:780px){.nav{display:none}}
@media(max-width:640px){.header-inner{height:82px;gap:12px}.header-actions{gap:9px}.language-switch{min-height:39px;padding:8px 10px;font-size:12px}.header-cta{padding:9px 12px;font-size:12px;min-height:39px;gap:8px}html[dir="ltr"] .header-cta{font-size:11px}.header-cta svg{display:none}.direct-contact{margin-block:22px 30px}.direct-contact .text-link{font-size:13px}.direct-contact bdi{font-size:13px}.request-decoration{margin-top:36px}html[dir="ltr"] h1{font-size:clamp(33px,8.6vw,46px);line-height:1.16;letter-spacing:-1px}html[dir="ltr"] h2{font-size:28px}html[dir="ltr"] .hero-description{font-size:14px}html[dir="ltr"] .hero-actions{gap:18px}html[dir="ltr"] .hero-actions .button{font-size:12px;padding-inline:16px}html[dir="ltr"] .hero-actions .text-link{font-size:12px}html[dir="ltr"] .steps-grid article:not(:last-child):after{left:17px;right:auto}html[dir="ltr"] .service-content h3{font-size:17px}html[dir="ltr"] .service-content p{font-size:12px}html[dir="ltr"] .request-copy h2{font-size:32px}html[dir="ltr"] .footer>a:last-child{margin-left:0}}
@media(max-width:360px){.header-inner{gap:8px}.brand-personal{min-width:78px}.brand-personal img{width:84px;height:42px}.header-actions{gap:6px}.language-switch{font-size:11px;padding-inline:8px}.header-cta,html[dir="ltr"] .header-cta{font-size:10px;padding-inline:9px;max-width:112px}.brand-descriptor{font-size:8px}}

/* My visit */
.hero-actions:has(> .visit-hero-link) {
  flex-wrap: wrap;
  gap: 12px 18px;
}

.hero-actions .visit-hero-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-block-size: 46px;
  max-inline-size: 100%;
  padding: 9px 16px;
  border: 1px solid #71856b;
  border-radius: 9px;
  background: #edf1e6;
  color: var(--ink);
  font-size: 14px;
  font-weight: 650;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.hero-actions .visit-hero-link:hover {
  border-color: var(--ink);
  background: var(--lime);
}

.visit-hero-link svg {
  width: 19px;
  height: 19px;
}

.visit-section {
  --visit-border: #b7c7af;
  --visit-surface: #fffdf7;
  --visit-soft: #edf2e7;
  --visit-muted: #4f6255;
  border-block-start: 1px solid var(--line);
}

.visit-section [hidden] {
  display: none !important;
}

.visit-intro h2 {
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.visit-layout {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  align-items: start;
  gap: clamp(20px, 3.3vw, 38px);
}

.visit-form,
.visit-card,
.visit-placeholder {
  min-inline-size: 0;
  padding: clamp(20px, 3.2vw, 34px);
  border: 1px solid var(--visit-border);
  border-radius: 23px;
  color: var(--ink);
}

.visit-form {
  display: grid;
  gap: 17px;
  background: var(--visit-surface);
}

.visit-form h3 {
  font-size: clamp(19px, 2.6vw, 23px);
  line-height: 1.35;
}

.visit-note {
  color: var(--visit-muted);
  font-size: 13px;
  line-height: 1.65;
}

.visit-field {
  display: grid;
  align-content: start;
  gap: 6px;
  min-inline-size: 0;
}

.visit-input-pair {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.visit-field label {
  font-size: 14px;
  font-weight: 650;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.visit-field :is(input, select, textarea) {
  display: block;
  inline-size: 100%;
  min-inline-size: 0;
  min-block-size: 46px;
  padding: 9px 11px;
  border: 1px solid #71856b;
  border-radius: 8px;
  background: #fffefb;
  color: var(--ink);
  font: inherit;
  font-size: 16px;
  line-height: 1.45;
}

.visit-field :is(small, .field-hint) {
  color: var(--visit-muted);
  font-size: 13px;
}

.visit-field :is(input, textarea)::placeholder {
  color: var(--visit-muted);
  opacity: 1;
}

.visit-form :is(button, a):focus-visible,
.visit-field :is(input, select, textarea):focus-visible,
.visit-checklist input:focus-visible,
.visit-actions :is(button, a):focus-visible,
.visit-hero-link:focus-visible {
  outline: 3px solid #2b6856;
  outline-offset: 3px;
}

.visit-form .button {
  min-block-size: 48px;
  max-inline-size: 100%;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.visit-card-slot {
  min-inline-size: 0;
}

.visit-placeholder {
  position: relative;
  isolation: isolate;
  display: grid;
  align-content: center;
  justify-items: start;
  gap: 12px;
  min-block-size: clamp(220px, 28vw, 340px);
  overflow: hidden;
  border-style: dashed;
  border-color: #81977c;
  background: linear-gradient(145deg, #e4edde, #f0f3e9);
  overflow-wrap: anywhere;
}

.visit-placeholder::before {
  position: absolute;
  z-index: -1;
  inset-block-end: -85px;
  inset-inline-end: -52px;
  inline-size: 220px;
  block-size: 220px;
  border: 1px solid #c3d1b8;
  border-radius: 50%;
  box-shadow: 0 0 0 24px #dce7d5;
  content: "";
}

.visit-placeholder > svg {
  width: 44px;
  height: 44px;
  padding: 9px;
  border-radius: 11px;
  background: #d8e6ce;
}

.visit-placeholder h3,
.visit-card-head h3 {
  font-size: clamp(21px, 3vw, 29px);
  line-height: 1.35;
}

.visit-placeholder p,
.visit-card-head p {
  max-inline-size: 43ch;
  color: var(--visit-muted);
  line-height: 1.65;
}

.visit-card {
  display: grid;
  gap: 21px;
  border-block-start: 5px solid #517b66;
  background: var(--visit-surface);
  box-shadow: 0 12px 35px #173d3b13;
  overflow-wrap: anywhere;
}

.visit-card-head {
  display: grid;
  gap: 4px;
  padding-block-end: 14px;
  border-block-end: 1px solid var(--visit-border);
}

.visit-card-head .eyebrow {
  margin: 0;
}

.visit-card-head > * {
  min-inline-size: 0;
}

.visit-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
}

.visit-facts > div {
  min-inline-size: 0;
  padding: 9px 11px;
  border: 1px solid #dce5d7;
  border-radius: 9px;
  background: var(--visit-soft);
}

.visit-facts dt {
  color: var(--visit-muted);
  font-size: 12px;
  font-weight: 650;
  line-height: 1.5;
}

.visit-facts dd {
  margin: 3px 0 0;
  font-weight: 600;
  line-height: 1.5;
  unicode-bidi: plaintext;
}

.visit-checklist h4,
.visit-phrases h4 {
  margin: 0 0 9px;
  font-size: 16px;
  line-height: 1.4;
}

.visit-checklist ul {
  display: grid;
  gap: 5px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.visit-checklist label {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  min-block-size: 44px;
  padding: 9px 10px;
  border-radius: 8px;
  background: var(--visit-soft);
  font-size: 14px;
  line-height: 1.6;
  cursor: pointer;
}

.visit-checklist input[type="checkbox"] {
  flex: none;
  inline-size: 18px;
  block-size: 18px;
  margin: 2px 0 0;
  accent-color: var(--ink);
}

.visit-phrases dl {
  margin: 0;
  border-block: 1px solid var(--visit-border);
}

.visit-phrases dl > div {
  padding-block: 9px;
}

.visit-phrases dl > div + div {
  border-block-start: 1px solid var(--line);
}

.visit-phrases dt[lang="de"][dir="ltr"] {
  font-weight: 650;
  line-height: 1.45;
  text-align: left;
  unicode-bidi: isolate;
  overflow-wrap: anywhere;
  hyphens: auto;
}

.visit-phrases dd {
  margin: 4px 0 0;
  color: var(--visit-muted);
  font-size: 14px;
  line-height: 1.65;
}

.visit-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-block-start: 12px;
}

.visit-actions .button {
  min-block-size: 44px;
  min-inline-size: 0;
  padding-inline: 13px;
  font-size: 14px;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.visit-status {
  color: var(--visit-muted);
  font-size: 14px;
  overflow-wrap: anywhere;
}

.visit-status:not(:empty) {
  margin-block-start: 8px;
}

@media (max-width: 760px) {
  .visit-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .visit-placeholder {
    min-block-size: 180px;
  }
}

@media (max-width: 420px) {
  .visit-form,
  .visit-card,
  .visit-placeholder {
    padding: 16px;
    border-radius: 17px;
  }

  .visit-input-pair,
  .visit-facts {
    grid-template-columns: minmax(0, 1fr);
  }

  .hero-actions .visit-hero-link {
    min-block-size: 44px;
    padding-inline: 12px;
    font-size: 13px;
  }

  .visit-actions .button {
    flex: 1 1 112px;
  }
}

@media print {
  @page visit-card-sheet {
    size: A4;
    margin: 13mm 15mm;
  }

  body.print-visit-card {
    page: visit-card-sheet;
    margin: 0;
    background: #fff;
  }

  body.print-visit-card > :not(main),
  body.print-visit-card > main > :not(#my-visit),
  body.print-visit-card #my-visit > :not(.visit-layout),
  body.print-visit-card #my-visit .visit-layout > :not(.visit-card-slot),
  body.print-visit-card #my-visit .visit-card-slot > :not(.visit-result),
  body.print-visit-card #my-visit .visit-result > :not(#visit-card) {
    display: none !important;
  }

  body.print-visit-card > main,
  body.print-visit-card > main > #my-visit,
  body.print-visit-card #my-visit :is(.visit-layout, .visit-card-slot, .visit-result, #visit-card) {
    display: block;
    inline-size: auto;
    max-inline-size: none;
    min-block-size: 0;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: #fff;
    box-shadow: none;
    overflow: visible;
  }

  body.print-visit-card #visit-card {
    color: #16201a;
    font-size: 10.5pt;
    line-height: 1.4;
  }

  body.print-visit-card #visit-card > * + * {
    margin-block-start: 11pt;
  }

  body.print-visit-card #visit-card .visit-card-head {
    display: block;
    padding-block-end: 7pt;
    border-color: #6c766d;
  }

  body.print-visit-card #visit-card h3 {
    font-size: 19pt;
  }

  body.print-visit-card #visit-card h4 {
    margin-block-end: 5pt;
    font-size: 12pt;
    break-after: avoid-page;
  }

  body.print-visit-card #visit-card .visit-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 5pt;
  }

  body.print-visit-card #visit-card :is(.visit-facts > div, .visit-checklist li, .visit-phrases dl > div) {
    break-inside: avoid;
  }

  body.print-visit-card #visit-card .visit-facts > div {
    padding: 5pt 7pt;
    border-color: #8f9a8e;
    border-radius: 0;
    background: #fff;
  }

  body.print-visit-card #visit-card .visit-facts dt {
    font-size: 9pt;
  }

  body.print-visit-card #visit-card .visit-checklist label {
    position: relative;
    display: block;
    min-block-size: 0;
    padding: 2pt 0;
    padding-inline-start: 17pt;
    background: #fff;
    font-size: 10pt;
  }

  body.print-visit-card #visit-card .visit-checklist input[type="checkbox"] {
    display: none;
  }

  body.print-visit-card #visit-card .visit-checklist input[type="checkbox"] + span::before {
    position: absolute;
    inset-block-start: 4pt;
    inset-inline-start: 0;
    display: grid;
    place-items: center;
    inline-size: 10pt;
    block-size: 10pt;
    border: .8pt solid #343b35;
    color: #151b16;
    font-size: 9pt;
    font-weight: 750;
    line-height: 1;
    content: "";
  }

  body.print-visit-card #visit-card .visit-checklist input[type="checkbox"]:checked + span::before {
    content: "✓";
  }

  body.print-visit-card #visit-card .visit-phrases dl {
    border-color: #8f9a8e;
  }

  body.print-visit-card #visit-card .visit-phrases dl > div {
    padding-block: 5pt;
  }

  body.print-visit-card #visit-card :is(.visit-phrases dd, .visit-card-head p) {
    color: #34463a;
    font-size: 10pt;
    line-height: 1.4;
  }
}

/* Shared layout for the Arabic and English home pages. */
@media screen {
  :root {
    --muted: #50635b;
    --paper: #faf9f4;
    --line: #d8dfd4;
    --lime: #deecac;
  }

  .header { background: #fffdf8; }
  .header-inner { height: 88px; }
  .brand-personal img { width: 136px; height: 68px; margin-bottom: -9px; }
  .brand-descriptor { font-size: 11px; padding-bottom: 5px; }
  .nav a { min-height: 44px; display: inline-flex; align-items: center; }
  .nav a::after { bottom: 4px; inset-inline-start: 0; inset-inline-end: auto; }
  .header-actions .language-switch { min-height: 44px; }

  .hero {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
    gap: clamp(28px, 5vw, 72px);
    padding-block: clamp(42px, 6vw, 88px);
  }

  .hero .eyebrow { margin-bottom: 18px; color: #3c5b52; }
  .hero h1, html[dir="ltr"] .hero h1 {
    font-size: clamp(36px, 4.65vw, 60px);
    line-height: 1.32;
    letter-spacing: 0;
    text-wrap: balance;
  }

  html[dir="ltr"] .hero h1 { line-height: 1.08; letter-spacing: -.045em; }
  .hero-description, html[dir="ltr"] .hero-description {
    font-size: clamp(16px, 1.45vw, 18px);
    line-height: 1.85;
    max-width: 48ch;
    margin-top: 20px;
  }

  .hero-actions:has(> .visit-hero-link),
  html[dir="ltr"] .hero-actions:has(> .visit-hero-link) { gap: 10px; margin-top: 25px; }
  .hero-actions > .button, html[dir="ltr"] .hero-actions > .button {
    font-size: 14px;
    gap: 9px;
    min-height: 50px;
    padding-inline: 16px;
  }

  .hero-actions > .button svg { width: 18px; flex: 0 0 18px; }
  .language-note { margin-top: 22px; }
  .language-note p { font-size: 14px; }
  .language-note small { font-size: 12px; }

  .hero-showcase {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    display: grid;
    align-content: center;
    gap: 17px;
    min-width: 0;
    min-height: 346px;
    padding: clamp(20px, 3.7vw, 48px);
    border-radius: 24px;
    background: radial-gradient(ellipse at top right, #2d5d50, #173d3b 72%);
    color: #fffdf8;
  }

  .hero-showcase::before,
  .hero-showcase::after {
    content: "";
    position: absolute;
    z-index: -1;
    inset-block-start: -155px;
    inset-inline-end: -90px;
    width: 340px;
    aspect-ratio: 1;
    border: 1px solid #deecac40;
    border-radius: 50%;
    pointer-events: none;
  }

  .hero-showcase::after { inset-block-start: -130px; inset-inline-end: -120px; }
  .showcase-caption, .showcase-city {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 13px;
    font-weight: 650;
  }

  .showcase-caption { color: #e5efc1; }
  .showcase-caption svg, .showcase-city svg { width: 16px; height: 16px; flex: 0 0 16px; }
  .showcase-sheet {
    padding: clamp(16px, 2.4vw, 30px);
    border: 1px solid #f9fff1;
    border-radius: 16px;
    background: #fffdf7;
    color: var(--ink);
    box-shadow: 0 12px 32px #102e2a42;
  }

  .showcase-sheet-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding-bottom: 14px;
    margin-bottom: 12px;
    border-bottom: 1px solid var(--line);
  }

  .showcase-city { color: var(--muted); }
  .showcase-title { margin-top: 5px; font-size: clamp(18px, 2vw, 25px); line-height: 1.35; font-weight: 700; }
  .showcase-mark {
    display: grid;
    place-items: center;
    flex: 0 0 34px;
    height: 34px;
    border-radius: 50%;
    background: var(--lime);
    font-size: 19px;
  }

  .showcase-label { font-size: 13px; font-weight: 700; }
  .showcase-sheet ul { padding: 0; margin: 7px 0 0; list-style: none; display: grid; gap: 5px; }
  .showcase-sheet li { display: flex; align-items: center; gap: 9px; font-size: 13px; line-height: 1.6; color: var(--muted); }
  .showcase-sheet li svg { width: 15px; height: 15px; flex: 0 0 15px; color: #28694e; }

  .cities-strip { background: #eef2e8; }
  .strip-label { color: var(--ink); font-size: 13px; font-weight: 700; }
  .strip-inner p { font-size: 13px; gap: 7px 15px; flex-wrap: wrap; }
  .section-heading { align-items: baseline; margin-bottom: 28px; }
  .section-heading > p { font-size: 15px; padding-bottom: 0; max-width: 35ch; }

  .service-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  .service-row, .service-row:last-child {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto 1fr auto;
    align-items: start;
    gap: 15px 10px;
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: clamp(19px, 2.8vw, 31px);
    background: #fffdf8;
  }

  .service-icon { width: 46px; height: 46px; border-radius: 12px; }
  .service-icon svg { width: 24px; height: 24px; }
  .service-content { grid-column: 1 / -1; }
  .service-content h3, html[dir="ltr"] .service-content h3 { font-size: clamp(19px, 2vw, 24px); line-height: 1.4; font-weight: 700; }
  .service-content p, html[dir="ltr"] .service-content p { font-size: 15px; line-height: 1.8; }
  .service-select {
    grid-column: 1 / -1;
    justify-self: start;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    width: auto;
    height: auto;
    min-height: 44px;
    margin: 0;
    padding: 8px 13px;
    border-radius: 9px;
    color: var(--ink);
    font-size: 14px;
    font-weight: 650;
  }

  .service-select:hover { transform: none; }
  .service-select svg { width: 16px; }
  .areas-copy > p:not(.eyebrow) { font-size: 15px; color: #dbe6df; }
  .city-button { min-height: 48px; font-size: 13px; }
  .steps-grid p { font-size: 15px; }
  .visit-form, .visit-placeholder, .visit-card { border-radius: 18px; }
  .request-form { background: #fffdf8; border-color: var(--line); border-radius: 18px; }
  .request-form .field :is(input, select, textarea) {
    min-height: 48px;
    padding-inline: 13px;
    border: 1px solid #a9b5a7;
    border-radius: 9px;
    background: #fffdf8;
    font-size: 16px;
  }

  .request-form .field label { font-size: 14px; }
  .request-form .field label small, .request-form .field-hint, .form-note { font-size: 12px; color: var(--muted); }
  .faq summary { min-height: 48px; font-size: 15px; }
  .footer p { font-size: 13px; }

  @media (max-width: 780px) {
    .header-inner {
      display: grid;
      grid-template-columns: 1fr auto;
      height: auto;
      gap: 0 10px;
      padding-top: 5px;
    }

    .header-inner .brand-personal { align-items: start; min-width: 0; justify-self: start; }
    .header-inner .brand-personal img { width: 109px; height: 54px; margin-inline-start: -9px; }
    .header-inner .brand-descriptor { margin-inline-start: 9px; }
    .header-inner .nav, html[dir="ltr"] .header-inner .nav {
      grid-row: 2;
      grid-column: 1 / -1;
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      gap: 0 12px;
      border-top: 1px solid var(--line);
      font-size: 13px;
    }

    .header-inner .header-actions { grid-column: 2; grid-row: 1; }
  }

  @media (max-width: 720px) {
    .hero { display: grid; grid-template-columns: 1fr; gap: 28px; padding-block: 36px; }
    .hero-copy { max-width: none; }
    .hero h1, html[dir="ltr"] .hero h1 { font-size: clamp(34px, 7.2vw, 48px); text-wrap: wrap; }
    .hero-showcase { min-height: 0; }
    .section-heading { display: grid; gap: 8px; }
    .section-heading > p { margin: 0; max-width: 48ch; }
  }

  @media (max-width: 560px) {
    .service-list { grid-template-columns: 1fr; }
    .service-row, .service-row:last-child {
      grid-template-columns: 42px minmax(0, 1fr);
      grid-template-rows: auto auto;
      gap: 10px 12px;
    }

    .service-icon { width: 42px; height: 42px; }
    .service-content, .service-select { grid-column: 2; }
    .service-content p, html[dir="ltr"] .service-content p { font-size: 14px; }
  }

  @media (max-width: 410px) {
    .hero-actions > .button, html[dir="ltr"] .hero-actions > .button { font-size: 13px; padding-inline: 12px; }
    .hero-actions > .visit-hero-link { width: auto; }
    .hero-showcase { padding: 16px; border-radius: 18px; }
    .city-grid { grid-template-columns: 1fr; }
  }

  @media (max-width: 355px) {
    html[dir="rtl"] .hero h1 { font-size: 29px; }
  }
}

.store-request-panel {
  margin-block: 14px;
  padding: 15px 17px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: #eef2e8;
}

.store-request-title {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  font-size: 15px;
  line-height: 1.4;
}

.store-request-optional {
  padding: 2px 7px;
  border-radius: 6px;
  background: #fffdf8;
  color: var(--muted);
  font-size: 11px;
  font-weight: 600;
}

.store-request-help,
.store-request-note,
.store-status {
  margin-top: 6px;
  font-size: 13px;
  line-height: 1.65;
}

.store-request-help,
.store-request-note {
  color: var(--muted);
}

.store-request-button {
  min-height: 44px;
  margin-top: 10px;
  padding-inline: 13px;
  font-size: 13px;
  text-align: start;
}

.store-request-button:disabled,
.button-whatsapp[aria-disabled="true"] {
  opacity: .68;
  cursor: default;
  transform: none;
}

.store-status:empty {
  margin-top: 0;
}


/* Keep the optional save and WhatsApp actions visible during review. */
#request-dialog:has(.store-request-panel:not([hidden])) #request-preview {
  max-height: min(25vh, 175px);
}

#request-dialog:has(.store-request-panel:not([hidden])) .whatsapp-action {
  margin-top: 14px;
}

/* Legal pages share the site's type, palette and header. */
.footer-legal {
  display: flex;
  flex-wrap: wrap;
  gap: 2px 17px;
}

.footer-legal a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  font-size: 13px;
  font-weight: 600;
}

.footer-legal a:hover,
.footer-legal a[aria-current="page"],
.legal-inline-link {
  text-decoration: underline;
  text-underline-offset: .18em;
}

.form-privacy {
  margin-top: 9px;
  text-align: center;
  font-size: 13px;
}

.legal-header .header-inner {
  display: flex;
  gap: 12px;
}

.legal-header .header-actions {
  gap: 8px;
  flex-wrap: wrap;
  justify-content: end;
}

.legal-main {
  width: min(760px, calc(100% - 36px));
  margin-inline: auto;
  padding-block: clamp(40px, 6vw, 80px);
}

.legal-main h1 {
  font-size: clamp(32px, 5.5vw, 52px);
  line-height: 1.25;
  letter-spacing: 0;
}

.legal-main > p {
  margin-top: 14px;
  color: var(--muted);
  font-size: 16px;
}

.legal-content {
  margin-top: 25px;
  padding: clamp(18px, 4vw, 34px);
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fffdf8;
}

.legal-content section + section {
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
}

.legal-content h2 {
  margin: 0;
  font-size: clamp(18px, 2.6vw, 24px);
  letter-spacing: 0;
  line-height: 1.45;
}

.legal-content p,
.legal-content address {
  margin-top: 9px;
  font-size: 15px;
  line-height: 1.8;
  overflow-wrap: anywhere;
}

.legal-content address { font-style: normal; }
.legal-content a { text-decoration: underline; text-underline-offset: .18em; }
.legal-content .legal-sources { color: var(--muted); font-size: 13px; }
.legal-footer { justify-content: space-between; flex-wrap: wrap; }
.legal-footer > a:last-child { margin-inline-start: 0; }

