@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/cormorant-garamond-italic-500.ttf) format('truetype');
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/cormorant-garamond-normal-500.ttf) format('truetype');
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/cormorant-garamond-normal-600.ttf) format('truetype');
}
@font-face {
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 400;
  font-stretch: normal;
  font-display: swap;
  src: url(fonts/roboto-italic-400.ttf) format('truetype');
}
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  font-stretch: normal;
  font-display: swap;
  src: url(fonts/roboto-normal-400.ttf) format('truetype');
}
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 500;
  font-stretch: normal;
  font-display: swap;
  src: url(fonts/roboto-normal-500.ttf) format('truetype');
}
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  font-stretch: normal;
  font-display: swap;
  src: url(fonts/roboto-normal-700.ttf) format('truetype');
}
:root{--dark:#182521;--cream:#f7f5ef;--gold:#c8ab76;--muted:#606761;--line:#dcded4}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:115px}body{margin:0;background:var(--cream);color:var(--dark);font-family:'Roboto',Arial,sans-serif;font-size:16px;line-height:1.7}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #ae7330;outline-offset:5px}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Roboto',Arial,sans-serif;font-weight:400;letter-spacing:-.045em;line-height:1.09}h1{font-size:clamp(45px,4.5vw,74px);margin-bottom:28px}h2{font-size:clamp(35px,3.3vw,52px);margin-bottom:24px}h3{line-height:1.3;font-size:20px;font-weight:500}em{font-weight:400;color:#7f6946}p{color:var(--muted)}.wrap{max-width:1240px;margin:auto;padding-left:40px;padding-right:40px}.topline{background:var(--dark);color:#dedccf;padding:9px 40px;font-size:10px;letter-spacing:2px;display:flex;justify-content:space-between}.topline a{font-size:12px;letter-spacing:1px}header{background:var(--dark);border-top:1px solid #ffffff19;position:sticky;top:0;z-index:10}.nav{display:flex;align-items:center;gap:35px;min-height:98px}.brand img{width:155px;height:auto}.nav nav{display:flex;gap:28px;margin-left:auto;color:#f8f6f0;font-size:13px}.button{display:inline-flex;align-items:center;justify-content:center;padding:16px 24px;font-size:13px;font-weight:700;letter-spacing:.3px;border:0;cursor:pointer;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.gold{background:var(--gold);color:var(--dark)}.gold:hover{background:#dec699}.menu{display:none}.hero{display:grid;grid-template-columns:1.05fr 1fr;min-height:615px}.hero-copy{padding:82px 55px 50px max(40px,calc((100vw - 1160px)/2));align-self:center}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2.4px;color:#88714e;margin-bottom:24px}.intro{font-size:16px;max-width:560px;line-height:1.8}.hero-actions{display:flex;gap:25px;align-items:center;flex-wrap:wrap;margin-top:30px}.textlink{font-size:13px;font-weight:700;border-bottom:1px solid #a4906b;padding:6px 0}.hero-note{display:flex;align-items:center;gap:15px;margin-top:55px;font-size:11px;color:var(--muted)}.line{width:40px;height:1px;background:#a4906b}.hero-image{position:relative;overflow:hidden;background:#222}.hero-image>img{height:100%;width:100%;object-fit:cover;object-position:53% center}.hero-image:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#0009)}.image-caption{position:absolute;bottom:35px;left:35px;right:35px;display:flex;justify-content:space-between;gap:15px;color:white;font-size:10px;letter-spacing:1.5px;z-index:1}.strip{display:flex;justify-content:space-around;gap:20px;padding:24px 40px;border-bottom:1px solid var(--line);font-size:11px;letter-spacing:1px}.strip span:before{content:'✦';margin-right:14px;color:#ab8d54}.section{padding-top:90px;padding-bottom:90px}.sectionhead{display:flex;justify-content:space-between;gap:45px;align-items:end;margin-bottom:40px}.sectionhead>p{max-width:335px;font-size:14px}.sectionhead>div{flex:1}.sectionhead>div+div{max-width:470px}.sectionhead h2{margin-bottom:0}.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.service-photo{position:relative;overflow:hidden;aspect-ratio:4/4.7}.service-photo img{width:100%;height:100%;object-fit:cover;transition:transform .45s}.service:hover img{transform:scale(1.04)}.service-photo span{position:absolute;top:15px;left:15px;border:1px solid #ffffff70;color:white;font-size:10px;padding:3px 10px;background:#0005}.service-label{display:flex;justify-content:space-between;gap:15px;padding-top:17px}.service-label h3{font-size:16px;line-height:1.5;max-width:180px}.more-services{display:flex;gap:30px;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:28px;padding-top:25px;font-size:13px}.more-services>span{color:var(--muted)}.more-services a{font-weight:bold}.about{padding:70px 0;background:#ebece3}.aboutgrid{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.aboutphoto img{width:100%;aspect-ratio:1.55;object-fit:cover}.aboutphoto>span{display:block;font-size:9px;letter-spacing:1.8px;margin-top:15px}.aboutgrid p{font-size:14px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:50px}.steps article{border-top:1px solid #c7c8bd;padding-top:25px}.steps article>span{font-family:'Roboto',Arial,sans-serif;font-size:32px;color:#a08b67;display:block;margin-bottom:20px}.steps p{font-size:14px}.galleryband{padding:70px 0;background:#182521;color:var(--cream)}.galleryband em{color:var(--gold)}.galleryband .eyebrow{color:var(--gold)}.galleryrow{display:grid;grid-template-columns:1.3fr 1fr .7fr;gap:22px}.galleryrow img{height:280px;width:100%;object-fit:cover}.faqgrid{display:grid;grid-template-columns:1fr 1.2fr;gap:80px}.faqs details{border-bottom:1px solid var(--line);padding:21px 0}.faqs details:first-child{border-top:1px solid var(--line)}summary{cursor:pointer;list-style:none;font-size:15px;font-weight:500;padding-right:28px;position:relative}summary:after{content:'+';position:absolute;right:0}details[open] summary:after{content:'−'}details p{margin:16px 0 0;font-size:14px}.contact{background:#e9e4d7;padding:90px 0;scroll-margin-top:80px}.contactgrid{display:grid;grid-template-columns:1fr 1.1fr;gap:70px}.contactgrid p{font-size:14px;max-width:350px}.contactlink{display:block;font-size:17px;margin-bottom:10px;overflow-wrap:anywhere}.small{font-size:11px!important;line-height:1.7}.contactgrid .small{max-width:none;margin-top:22px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{font-size:12px;font-weight:700;display:block}.full{grid-column:1/-1}input,select,textarea{width:100%;margin-top:7px;padding:12px;border:1px solid #c9c5b9;background:#ffffff85;border-radius:0;color:var(--dark);font-size:14px;min-height:48px}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid #927643;outline-offset:1px}.formactions{display:flex;align-items:center;gap:25px;margin-top:25px;flex-wrap:wrap}.emailbutton{background:transparent;border:0;border-bottom:1px solid #8e7751;font-size:12px;cursor:pointer;padding:8px 0;color:var(--dark)}footer{background:#111d19;color:#eee9db;padding:60px 0 24px}.footgrid{display:grid;grid-template-columns:1.3fr 1fr .7fr;gap:50px}.footgrid img{width:150px;height:auto;margin-bottom:20px}.footgrid p{color:#adb4a9;font-size:12px}.footgrid h2{font-family:'Roboto',Arial,sans-serif;font-size:12px;font-weight:bold;letter-spacing:.5px}.footgrid a{display:block;font-size:12px;margin-bottom:9px;overflow-wrap:anywhere}.footbottom{border-top:1px solid #ffffff1a;margin-top:45px;padding-top:24px;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#adb4a9}.floating{position:fixed;bottom:24px;right:24px;z-index:11;display:flex;align-items:center;gap:10px;padding:14px 18px;background:#1e6d46;color:white;box-shadow:0 4px 25px #0002;border-radius:30px;font-size:13px;font-weight:bold}.floating svg{width:24px;fill:none;stroke:currentColor;stroke-width:1.5}.skip{position:absolute;top:-100px;background:white;padding:12px;z-index:99}.skip:focus{top:10px}.breadcrumb{font-size:12px;display:block;margin-bottom:35px}.detailhero{display:grid;grid-template-columns:1.1fr 1fr;gap:65px;align-items:center}.detailhero h1{font-size:clamp(40px,4.5vw,67px)}.detailhero>img{height:440px;width:100%;object-fit:cover}.checklist{padding-left:20px;line-height:2.1;font-size:14px}.compact{grid-template-columns:repeat(3,1fr)}.widephoto{width:100%;height:auto;margin-top:40px}.galleryfull{display:grid;grid-template-columns:repeat(2,1fr);gap:30px;margin:40px 0}.galleryfull figure{margin:0}.galleryfull img{width:100%;height:360px;object-fit:cover}.galleryfull figcaption{font-size:12px;margin-top:12px}.legal{max-width:850px}.legal h2{font-size:30px;letter-spacing:-.02em;margin-top:40px}.legal a{border-bottom:1px solid #a4906b}@media(min-width:1600px){.hero{max-width:1600px;margin:auto}.hero-copy{padding-left:100px}}@media(max-width:1000px){.nav{gap:22px}.nav nav{gap:18px}.navcta{display:none}.hero-copy{padding:55px 30px}.hero{min-height:550px}.services-grid{grid-template-columns:repeat(2,1fr)}.service-photo{aspect-ratio:1.3}.aboutgrid,.contactgrid,.faqgrid{gap:35px}.detailhero{gap:30px}.sectionhead{gap:25px}.hero-actions{gap:20px}.strip{flex-wrap:wrap}}@media(max-width:680px){.wrap{padding-left:22px;padding-right:22px}.topline{padding:8px 22px;font-size:8px;letter-spacing:1px}.nav{min-height:78px;justify-content:space-between}.brand img{width:125px}.menu{display:block;color:white;background:none;border:1px solid #ffffff55;padding:8px 12px;font-size:12px}.nav nav{display:none;position:absolute;top:78px;left:0;right:0;padding:25px;background:var(--dark);flex-direction:column}.nav nav.open{display:flex}.hero{grid-template-columns:1fr}.hero-copy{padding:50px 22px}.hero h1{font-size:49px}.hero-note{margin-top:30px}.hero-image{height:300px}.hero-image>img{object-position:center}.image-caption{left:22px;right:22px;bottom:22px;font-size:8px}.strip{justify-content:flex-start;padding:20px 22px;gap:15px;font-size:10px}.strip span{width:calc(50% - 10px)}.strip span:before{margin-right:6px}.section{padding-top:60px;padding-bottom:60px}.sectionhead{display:block}.sectionhead>p{margin-top:20px;max-width:none}.services-grid{gap:16px}.service-label h3{font-size:14px}.service-photo{aspect-ratio:.85}.more-services{gap:18px}.more-services>span{width:100%}.about{padding:50px 0}.aboutgrid,.contactgrid,.faqgrid,.detailhero{grid-template-columns:1fr;gap:35px}.steps{grid-template-columns:1fr;gap:25px;margin-top:35px}.steps article>span{float:left;margin-right:25px}.steps article h3{margin-top:8px}.steps article p{clear:both}.galleryrow{grid-template-columns:1fr 1fr;gap:15px}.galleryrow img{height:220px}.galleryrow img:last-child{display:none}.galleryband{padding:50px 0}.galleryband .textlink{display:inline-block;margin-top:20px}.contact{padding:60px 0}.contactlink{font-size:16px}.formgrid{gap:15px}.formactions{gap:18px}.footgrid{grid-template-columns:1fr 1fr;gap:30px}.footgrid>div:first-child{grid-column:1/-1}.footbottom{flex-wrap:wrap;font-size:9px;padding-bottom:60px}.floating{bottom:16px;right:16px;padding:12px}.floating span{display:none}.detailhero>img{height:280px}.compact{grid-template-columns:1fr 1fr}.galleryfull{grid-template-columns:1fr}.galleryfull img{height:auto}.formgrid label{min-width:0}h1{font-size:45px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
/* Typography and intact CTA labels */
h1,h2{font-weight:400;letter-spacing:-.035em}h1 em,h2 em{font-weight:400}.button{white-space:nowrap;word-break:normal;overflow-wrap:normal;flex-shrink:0;letter-spacing:0;font-size:14px;font-weight:700;line-height:1.4}.nav nav{white-space:nowrap;flex-shrink:0}.brand{flex-shrink:0}.navcta{min-width:181px}.formactions .button{max-width:100%}@media(max-width:380px){.hero h1{font-size:42px}.formactions .button{padding:14px 16px;font-size:13px}}

/* Refined serif headings; Roboto remains for text and controls. */
h1,h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;letter-spacing:-.025em;line-height:1.04;font-kerning:normal}h1 em,h2 em{font-family:inherit;font-weight:500;font-style:italic}h1{font-size:clamp(50px,5vw,80px)}h2{font-size:clamp(39px,3.6vw,56px)}.detailhero h1{font-size:clamp(46px,4.8vw,73px)}.footgrid h2{font-family:'Roboto',Arial,sans-serif;font-size:12px;font-weight:700;letter-spacing:.5px;line-height:1.3}.legal h2{font-size:34px}@media(max-width:680px){.hero h1{font-size:55px}h1{font-size:50px}.detailhero h1{font-size:49px}}@media(max-width:380px){.hero h1{font-size:48px}.detailhero h1{font-size:43px}}

/* Keep the WhatsApp brand icon at its original aspect ratio. */
.floating{white-space:nowrap;gap:10px;line-height:1.2;min-height:50px}.floating svg{display:block;width:24px;height:24px;min-width:24px;flex:0 0 24px;aspect-ratio:1;fill:currentColor;stroke:none}.floating span{flex-shrink:0}

/* Explicit icon contrast, including visited links and mobile browsers. */
.floating,.floating:link,.floating:visited,.floating:hover,.floating:active{background-color:#1e6d46;color:#ffffff;color-scheme:only light}.floating svg,.floating svg path{color:#ffffff;fill:#ffffff;stroke:none}

/* Employment contact form */
.careers-intro{padding-bottom:55px}.careers-intro .intro{max-width:660px}.careers-section{background:#e9e4d7;padding:65px 0 90px}.careers-photo{width:100%;height:auto;margin-bottom:30px}.job-consent{display:flex;align-items:flex-start;gap:12px;margin-top:22px;font-weight:400;font-size:12px;line-height:1.7}.job-consent input{flex:0 0 18px;width:18px;height:18px;min-height:18px;margin:2px 0 0;accent-color:#182521}.job-consent a{text-decoration:underline}.careers-section .contactgrid form{min-width:0}@media(max-width:680px){.careers-section{padding:45px 0 60px}.careers-intro{padding-bottom:35px}}@media(max-width:380px){#job-application .button{font-size:12px;padding:14px 12px}}

/* Footer social links */
.footgrid .social-links{display:flex;align-items:center;gap:12px;margin-top:20px}.footgrid .social-links a{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;margin:0;border:1px solid #ffffff55;border-radius:50%;color:#ffffff;transition:color .2s,border-color .2s,background-color .2s}.footgrid .social-links a:hover{color:#182521;background:#c8ab76;border-color:#c8ab76}.social-links svg{display:block;flex-shrink:0;width:20px;height:20px}
