@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--paper:#f5f3ed;--ink:#243d32;--muted:#73796f;--line:#d6dbd0;--accent:#d8e7aa}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #69883f;outline-offset:6px}.header{height:118px;padding:0 6%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:14px}.mark{font-family:'Manrope',sans-serif;font-size:44px;letter-spacing:-4px;font-weight:800;position:relative;line-height:1;padding-bottom:5px}.mark-line{position:absolute;bottom:0;left:1px;right:0;height:4px;background:var(--ink);transform:skew(-28deg)}.brand-name{font-size:15px;letter-spacing:2px;font-weight:700;border-left:1px solid #abb4a7;padding-left:15px}.brand-name span{display:block;font-size:10px;letter-spacing:2.2px;margin-top:4px}.nav-contact{font-size:14px;display:flex;gap:35px;align-items:center}.nav-contact span{font-size:23px}.hero{display:grid;grid-template-columns:1.03fr 1fr;min-height:700px;padding:40px 4% 40px 6%;gap:5%}.intro{padding-top:53px;display:flex;flex-direction:column;align-items:flex-start}.eyebrow{font-size:11px;font-weight:600;letter-spacing:2px;display:flex;align-items:center;gap:10px}.dot{width:7px;height:7px;border-radius:50%;background:#6c8053}h1{font-family:'Manrope',sans-serif;font-size:clamp(58px,6.6vw,98px);font-weight:500;letter-spacing:-6px;line-height:1.07;margin:30px 0 26px}em{font-family:Georgia,serif;font-weight:400}p{font-size:16px;line-height:1.8;color:#657064;max-width:390px;margin:0}.button{display:flex;align-items:center;gap:25px;background:var(--ink);color:var(--paper);padding:19px 23px;margin-top:32px;font-size:14px}.button span{font-size:20px}.button:hover{background:#365740}.hero-bottom{width:100%;display:flex;justify-content:space-between;gap:15px;margin-top:auto;padding-top:56px;font-size:9px;letter-spacing:1.3px;color:#75816e}.hero-bottom a{display:flex;gap:16px}.hero-image{margin:0;position:relative;min-height:630px;overflow:hidden}.hero-image img{height:100%;width:100%;position:absolute;object-fit:cover}.hero-image figcaption{position:absolute;bottom:0;left:0;right:0;padding:35px 24px 21px;display:flex;justify-content:space-between;gap:15px;background:linear-gradient(transparent,#1522179c);color:white;font-size:9px;letter-spacing:1.2px}.hero-image figcaption span:last-child{letter-spacing:0;opacity:.75}.contact{margin-top:45px;background:var(--ink);color:var(--paper);padding:95px 6% 105px;display:grid;grid-template-columns:1.05fr 1fr;gap:7%;scroll-margin-top:0}.contact .eyebrow{color:var(--accent)}h2{font-family:'Manrope',sans-serif;font-size:clamp(37px,3.7vw,56px);font-weight:400;letter-spacing:-2.5px;line-height:1.17;margin:28px 0 22px}.contact p{color:#c0cbbd;font-size:15px}.contact-details{padding-top:36px}.contact-row{border-bottom:1px solid #587062;display:grid;grid-template-columns:135px 1fr 20px;gap:15px;padding:25px 0;align-items:start}.label{font-size:10px;letter-spacing:1.6px;padding-top:6px;color:#beccb9}.contact-row div{font-size:23px}.sub{display:block;font-size:14px;color:#bdc8b7;margin-top:7px}.row-icon{font-size:24px}.contact-row div.pending{font-size:17px;color:#b4c1b0;padding-top:2px}.contact-note{font-size:12px;color:#a9b9a4;margin-top:21px}footer{display:flex;justify-content:space-between;padding:27px 6%;font-size:11px;color:#6b7769}footer a{font-size:12px}@media(min-width:1600px){.header,.hero,.contact,footer{padding-left:max(6%,calc((100vw - 1500px)/2));padding-right:max(4%,calc((100vw - 1500px)/2))}}@media(max-width:850px){.header{height:90px}.hero{gap:28px;min-height:600px}.intro{padding-top:35px}h1{font-size:60px;letter-spacing:-3.5px}.hero-image{min-height:560px}.hero-bottom{flex-direction:column;font-size:9px}.contact{gap:30px;padding-top:65px;padding-bottom:70px}.contact-row{grid-template-columns:1fr;gap:9px}.row-icon{display:none}.contact-details{padding-top:0}.hero-image figcaption span:first-child{display:none}}@media(max-width:600px){.header{padding:0 6%;height:85px}.mark{font-size:35px}.brand-name{font-size:11px;letter-spacing:1.3px;padding-left:10px}.brand{gap:10px}.brand-name span{font-size:8px}.nav-contact{gap:12px;font-size:12px}.hero{display:flex;flex-direction:column;padding:20px 6% 0;gap:30px}.intro{padding-top:25px}h1{font-size:66px;letter-spacing:-4px;margin:25px 0}.eyebrow{font-size:10px;letter-spacing:1.6px}p{font-size:15px}.button{margin-top:26px}.hero-bottom{padding-top:35px;flex-direction:row;font-size:8px}.hero-image{min-height:430px}.hero-image figcaption{padding:30px 18px 15px}.contact{margin-top:40px;display:block;padding:56px 6%}.contact h2{font-size:40px;letter-spacing:-2px}.contact-details{margin-top:35px}.contact-row{grid-template-columns:115px 1fr}.contact-row div{font-size:21px}.contact-row div.pending{font-size:15px}.label{font-size:9px;letter-spacing:1px}footer{font-size:10px;gap:15px;padding:25px 6%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.contact-row .email-address{font-size:clamp(14px,1.4vw,19px);overflow-wrap:anywhere;line-height:1.6}.email-address a:hover{text-decoration:underline;text-underline-offset:4px}

.hero-image img{object-position:65% center}

.header{height:148px}.company-logo{display:block;width:170px;height:120px;object-fit:contain;mix-blend-mode:multiply}@media(max-width:600px){.header{height:118px}.company-logo{width:135px;height:95px}}
/* Fluid layouts for phones and tablets. */
.hero,.contact{grid-template-columns:minmax(0,1.03fr) minmax(0,1fr)}
.intro,.contact-heading,.contact-details,.contact-row>div{min-width:0}
.nav-contact,footer a{min-height:44px;display:inline-flex;align-items:center}
.button{max-width:100%}.button span{flex-shrink:0}
@media(max-width:1024px){.hero{gap:32px}.hero-bottom{flex-wrap:wrap}.contact-row{grid-template-columns:1fr;gap:10px}.row-icon{display:none}}
@media(max-width:760px){.hero{display:flex;flex-direction:column;padding:24px 6% 0;gap:32px;min-height:0}.intro{padding-top:24px}h1{font-size:clamp(48px,9vw,68px);letter-spacing:-3px}.hero-bottom{padding-top:32px;flex-direction:row;flex-wrap:wrap;font-size:12px;line-height:1.6;letter-spacing:.5px}.hero-bottom a{min-height:44px;align-items:center}.hero-image{min-height:0;width:100%;aspect-ratio:4/3}.contact{display:block;padding:52px 6%;margin-top:40px}.contact-details{margin-top:30px}.contact-row{grid-template-columns:1fr}.contact h2{font-size:clamp(32px,6vw,44px);letter-spacing:-1.5px}.desktop{display:none}p,.contact p{font-size:16px}.eyebrow,.label{font-size:12px;letter-spacing:1px}.nav-contact{font-size:14px}.contact-row .email-address{font-size:16px}footer{flex-wrap:wrap;font-size:12px}.hero-image figcaption{display:none}}
/* Readable supporting text and comfortable touch targets at every size. */
.eyebrow,.label{font-size:12px;letter-spacing:1px}
.hero-bottom{font-size:12px;letter-spacing:.4px;line-height:1.6}
.hero-bottom a{min-height:44px;align-items:center}
.hero-image figcaption{font-size:12px}
.contact p{font-size:16px}
footer{font-size:12px}
@media(min-width:761px) and (max-width:1024px){h1{font-size:clamp(46px,6.8vw,65px);letter-spacing:-3px}.hero-bottom{padding-top:30px}.contact h2{font-size:clamp(32px,4.4vw,44px)}}
@media(max-width:360px){.button{padding:18px 16px;gap:12px;font-size:13px}.company-logo{width:120px}.nav-contact{gap:8px}h1{font-size:46px}.hero-bottom{flex-direction:column;gap:4px}}

.contact{display:block;padding-top:56px;padding-bottom:64px}.contact-details{max-width:900px;margin:0 auto;padding-top:0}.contact-row{grid-template-columns:180px minmax(0,1fr)}.whatsapp-link{display:inline-flex;align-items:center;min-height:44px;margin-left:24px;font-size:14px;color:var(--accent)}.contact-row a:hover{text-decoration:underline;text-underline-offset:4px}@media(max-width:600px){.contact{padding:36px 6% 44px}.contact-row{grid-template-columns:1fr}.whatsapp-link{margin-left:20px}}
/* Compact contact section. */
.contact{margin-top:20px;padding:24px 6% 28px}
.contact-details{max-width:none;margin:0;padding:0}
.contact-row{padding:14px 0;gap:10px;align-items:center}
.contact-row:first-child{padding-top:0}
.contact-row:last-child{border-bottom:0;padding-bottom:0}
.label{padding-top:0}
@media(max-width:600px){.contact{margin-top:24px;padding:24px 6%}.contact-row{gap:6px;padding:14px 0}}
