
:root{--green:#063e2b;--green2:#0a563c;--gold:#d79a25;--gold2:#f0bc55;--ink:#12211b;--cream:#f8f4ea;--white:#fff;--muted:#66746e;--line:#dfe5e1;--shadow:0 16px 40px rgba(3,28,20,.13)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.68}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.wrap{width:min(1180px,92vw);margin:auto}.wrap-wide{width:min(1320px,94vw);margin:auto}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.76rem;font-weight:800;color:var(--gold2)}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;line-height:1.12;margin-top:0}h1{font-size:clamp(2.6rem,6vw,5.8rem);max-width:900px}h2{font-size:clamp(2rem,3.5vw,3.4rem)}h3{font-size:1.35rem}p{margin:0 0 1.15rem}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);border-bottom:1px solid rgba(6,62,43,.1);backdrop-filter:blur(12px)}.header-inner{display:flex;align-items:center;min-height:78px;gap:28px}.brand{display:flex;align-items:center;gap:11px;min-width:max-content}.brand img{width:64px;height:64px;border-radius:50%;object-fit:contain;background:transparent}.brand span{display:flex;flex-direction:column;line-height:1.05}.brand b{font-family:Georgia,serif;color:var(--green);font-size:1.1rem}.brand small{text-transform:uppercase;letter-spacing:.12em;font-size:.62rem;margin-top:5px}.main-nav{margin-left:auto;display:flex;align-items:center;gap:17px;font-size:.9rem;font-weight:700}.main-nav>a,.nav-drop>button{padding:28px 0;border:0;background:none;font:inherit;color:var(--ink);cursor:pointer}.nav-drop{position:relative}.nav-drop button span{color:var(--gold);margin-left:3px}.drop-menu{display:none;position:absolute;top:67px;left:-18px;background:#fff;min-width:255px;padding:10px;border-radius:14px;box-shadow:var(--shadow);border:1px solid var(--line)}.drop-menu a{display:block;padding:9px 11px;border-radius:8px}.drop-menu a:hover{background:var(--cream);color:var(--green)}.nav-drop:hover .drop-menu{display:block}.main-nav .nav-cta{padding:11px 16px;background:var(--green);color:#fff;border-radius:999px}.menu-toggle{display:none;margin-left:auto;border:0;background:var(--green);color:#fff;border-radius:8px;padding:9px 12px;font-size:1.2rem}.home-hero,.page-hero{background-size:cover;background-position:center;display:grid;color:#fff}.home-hero{min-height:78vh;align-items:center}.page-hero{min-height:58vh;align-items:end}.home-hero-copy{padding:100px 0}.page-hero .hero-copy{padding:90px 0 74px}.home-hero h1,.page-hero h1{margin:.35rem 0 1rem}.home-hero p,.page-hero p{font-size:1.16rem;max-width:760px;color:rgba(255,255,255,.88)}.hero-actions,.button-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.btn{display:inline-flex;justify-content:center;align-items:center;padding:13px 20px;border-radius:999px;font-weight:800;transition:.2s;border:1px solid transparent}.btn:hover{transform:translateY(-2px)}.btn-gold{background:var(--gold);color:#152019}.btn-dark{background:var(--green);color:#fff}.btn-outline{border-color:rgba(255,255,255,.65);color:#fff;background:rgba(255,255,255,.06)}.intro{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center;padding:90px 0}.intro-copy p{font-size:1.08rem;color:#43534c}.intro-image img{height:520px;width:100%;object-fit:cover;border-radius:24px;box-shadow:var(--shadow)}.cards-section{padding:90px 0;background:var(--cream)}.section-head{margin-bottom:34px;max-width:760px}.section-head .eyebrow{color:var(--gold)}.card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.image-card{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 8px 25px rgba(3,28,20,.08);transition:.2s}.image-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.image-card img{width:100%;height:230px;object-fit:cover}.image-card div{padding:20px}.image-card h3{color:var(--green);margin-bottom:8px}.image-card p{color:var(--muted);font-size:.93rem}.split-dark{background:var(--green);color:#fff;padding:90px 0}.split-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.split-grid p{color:rgba(255,255,255,.8)}.split-grid img{width:100%;height:430px;object-fit:cover;border-radius:24px}.process{padding:90px 0}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.steps>div{padding:25px;border:1px solid var(--line);border-radius:16px}.steps b{color:var(--gold);font-size:1.35rem}.steps h3{margin:8px 0}.steps p{color:var(--muted)}.breadcrumb{display:flex;gap:9px;align-items:center;color:var(--muted);font-size:.9rem;padding:22px 0;border-bottom:1px solid var(--line)}.breadcrumb a{color:var(--green);font-weight:700}.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:55px;padding:60px 0 85px}.content-section{margin-bottom:48px}.content-section h2{font-size:clamp(1.8rem,3vw,2.7rem);color:var(--green);margin-bottom:18px}.content-section p{font-size:1.03rem;color:#394941}.check-list{padding:0;margin:18px 0;list-style:none;display:grid;gap:10px}.check-list li{position:relative;padding-left:30px}.check-list li:before{content:'✓';position:absolute;left:0;color:var(--gold);font-weight:900}.info-note{background:var(--cream);border-left:4px solid var(--gold);padding:16px 18px;border-radius:8px;margin-top:18px}.side-card{position:sticky;top:105px;align-self:start;border:1px solid var(--line);border-radius:20px;padding:24px;background:#fff;box-shadow:0 10px 30px rgba(3,28,20,.07)}.side-card img{width:104px;height:104px;border-radius:50%;object-fit:contain;margin-bottom:18px}.side-card h3{color:var(--green)}.side-card p{color:var(--muted)}.side-card .btn{width:100%;margin:7px 0 14px}.text-link{display:block;color:var(--green);font-size:.88rem;word-break:break-word;margin-top:7px}.cta-band{background:#0b3025;color:#fff;padding:64px 0}.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:35px}.cta-inner>div{max-width:780px}.cta-inner h2{margin:7px 0 10px}.cta-inner p{color:rgba(255,255,255,.75)}.site-footer{background:#031c14;color:#fff;padding-top:64px}.footer-grid{display:grid;grid-template-columns:1.6fr .7fr .8fr;gap:60px}.footer-logo{width:130px;height:130px;border-radius:50%;object-fit:contain;margin-bottom:18px}.footer-grid p{color:rgba(255,255,255,.66);font-size:.92rem}.footer-grid h3{color:var(--gold2)}.footer-grid a{display:block;color:rgba(255,255,255,.78);margin:8px 0}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.12);margin-top:45px;padding:20px 0;color:rgba(255,255,255,.55);font-size:.85rem}.whatsapp-float{position:fixed;right:18px;bottom:18px;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#25d366;color:#072c1d;font-weight:900;box-shadow:0 10px 30px rgba(0,0,0,.22);z-index:60}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:24px}.gallery-grid figure{margin:0;overflow:hidden;border-radius:16px;background:var(--cream)}.gallery-grid img{width:100%;height:260px;object-fit:cover}.gallery-grid figcaption{padding:10px 13px;font-weight:700;color:var(--green)}.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.testimonial-grid blockquote{margin:0;padding:25px;border:1px solid var(--line);border-radius:16px;background:#fff}.testimonial-grid cite{color:var(--green);font-weight:800}.booking-form{display:grid;gap:16px}.booking-form>div{display:grid;grid-template-columns:1fr 1fr;gap:16px}.booking-form label{font-weight:800;color:var(--green);display:grid;gap:7px}.booking-form input,.booking-form textarea,.booking-form select{width:100%;font:inherit;padding:13px 14px;border:1px solid #cad6d0;border-radius:10px;background:#fff;color:var(--ink)}.booking-form button{justify-self:start;border:0}.contact-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:22px 0 48px}.contact-cards>*{padding:22px;border-radius:15px;background:var(--cream);display:flex;flex-direction:column;gap:6px}.contact-cards b{color:var(--green);font-family:Georgia,serif;font-size:1.2rem}.credits-list{display:grid;gap:10px}.credits-list a{color:var(--green);font-weight:800}
@media(max-width:1050px){.main-nav{display:none;position:absolute;left:0;right:0;top:78px;background:#fff;padding:18px 4vw;box-shadow:var(--shadow);max-height:78vh;overflow:auto}.main-nav.open{display:block}.main-nav>a,.nav-drop>button{display:block;padding:11px 0;width:100%;text-align:left}.drop-menu{position:static;display:block;box-shadow:none;border:0;padding:0 0 8px 15px}.drop-menu a{padding:7px 0;font-weight:600}.menu-toggle{display:block}.card-grid{grid-template-columns:repeat(2,1fr)}.article-layout{grid-template-columns:1fr}.side-card{position:static}.steps{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){h1{font-size:clamp(2.4rem,13vw,4rem)}.brand span{display:none}.home-hero{min-height:70vh}.page-hero{min-height:52vh}.intro,.split-grid{grid-template-columns:1fr;gap:30px;padding:60px 0}.intro-image img,.split-grid img{height:350px}.card-grid,.steps,.gallery-grid,.testimonial-grid,.contact-cards,.footer-grid{grid-template-columns:1fr}.article-layout{padding-top:35px}.cta-inner{align-items:flex-start;flex-direction:column}.booking-form>div{grid-template-columns:1fr}.footer-bottom{flex-direction:column}.page-hero .hero-copy{padding:70px 0 45px}.gallery-grid img{height:230px}}

/* uploaded-photo-collection */
.uploaded-photo-section{padding-top:8px;border-top:1px solid var(--line)}
.photo-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:22px}
.photo-strip figure{margin:0;border-radius:16px;overflow:hidden;background:var(--cream)}
.photo-strip img{width:100%;height:260px;object-fit:cover;transition:transform .25s ease}
.photo-strip figure:hover img{transform:scale(1.025)}
.photo-strip figcaption{padding:10px 13px;color:var(--green);font-weight:750;font-size:.9rem}
.home-photo-collection{padding:90px 0;background:#fff}
.home-photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.home-photo-grid figure{margin:0;position:relative;border-radius:18px;overflow:hidden;min-height:260px;background:var(--green)}
.home-photo-grid img{width:100%;height:100%;min-height:260px;object-fit:cover}
.home-photo-grid figcaption{position:absolute;left:0;right:0;bottom:0;padding:42px 14px 13px;color:#fff;font-weight:800;background:linear-gradient(transparent,rgba(3,28,20,.85))}
.expanded-gallery{margin-top:30px}
@media(max-width:900px){.home-photo-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.photo-strip,.home-photo-grid{grid-template-columns:1fr}.photo-strip img,.home-photo-grid img{height:230px;min-height:230px}}

/* direct booking actions */
.btn-wa{background:#1faa54;color:#fff}
.btn-mail{background:var(--gold);color:#152019}
.btn-wa svg,.btn-mail svg{width:19px;height:19px;fill:currentColor;margin-right:9px;flex:none}
.side-card .btn-wa,.side-card .btn-mail{width:100%;margin:0 0 9px}
.form-actions{display:flex;gap:12px;flex-wrap:wrap}
.direct-book{background:var(--cream);padding:70px 0;border-top:1px solid var(--line)}
.direct-inner{display:grid;grid-template-columns:1.25fr .75fr;gap:45px;align-items:center}
.direct-inner h2{color:var(--green);margin:7px 0 12px}
.direct-inner p{color:#43534c;margin-bottom:10px}
.direct-contact a{color:var(--green);font-weight:800}
.direct-actions{display:grid;gap:12px}
.direct-actions .btn{width:100%;font-size:1rem;padding:16px 22px}
.float-actions{position:fixed;right:16px;bottom:16px;z-index:60;display:grid;gap:10px;justify-items:end}
.float-btn{display:inline-flex;align-items:center;gap:9px;padding:12px 17px;border-radius:999px;color:#fff;font-weight:800;font-size:.88rem;box-shadow:0 10px 26px rgba(0,0,0,.25);transition:.2s}
.float-btn:hover{transform:translateY(-2px)}
.float-btn svg{width:20px;height:20px;fill:currentColor;flex:none}
.float-wa{background:#1faa54}
.float-mail{background:var(--green)}
@media(max-width:900px){.direct-inner{grid-template-columns:1fr;gap:26px}}
@media(max-width:720px){.float-btn span{display:none}.float-btn{padding:14px;border-radius:50%}.float-actions{right:13px;bottom:13px}}

.gallery-heading{color:var(--green);margin:38px 0 4px;font-size:1.6rem}

/* customer experiences gallery + lightbox */
.exp-filters{display:flex;flex-wrap:wrap;gap:9px;margin:26px 0 6px}
.exp-filter{display:inline-flex;align-items:center;font-size:.86rem;font-weight:800;padding:9px 16px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--green);transition:.18s}
.exp-filter:hover{border-color:var(--gold);background:var(--cream);transform:translateY(-1px)}
.exp-filter:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.exp-category{margin-top:40px;scroll-margin-top:96px}
.exp-category>h3{font-size:1.55rem;color:var(--green);margin:0 0 4px}
.exp-category>p{color:var(--muted);margin:0 0 18px;font-size:.97rem}
.exp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;grid-auto-flow:dense}
.exp-card{position:relative;margin:0;padding:0;border:0;border-radius:18px;overflow:hidden;background:var(--green);aspect-ratio:4/5;cursor:zoom-in;display:block;width:100%;text-align:left}
.exp-card.is-wide{grid-column:span 2;aspect-ratio:8/5}
.exp-card img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.exp-card:hover img,.exp-card:focus-visible img{transform:scale(1.045)}
.exp-card:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.exp-card .exp-cap{display:block;position:absolute;left:0;right:0;bottom:0;padding:46px 15px 14px;color:#fff;font-weight:750;font-size:.92rem;line-height:1.4;background:linear-gradient(transparent,rgba(3,28,20,.9))}
.exp-card .exp-zoom{position:absolute;top:11px;right:11px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:rgba(3,28,20,.55);opacity:0;transition:.2s}
.exp-card .exp-zoom svg{width:17px;height:17px;fill:#fff}
.exp-card:hover .exp-zoom,.exp-card:focus-visible .exp-zoom{opacity:1}
.exp-empty{color:var(--muted);padding:10px 0}
.lightbox{position:fixed;inset:0;z-index:200;display:none;background:rgba(3,20,14,.94);padding:26px}
.lightbox[open],.lightbox.is-open{display:grid;grid-template-rows:1fr auto;gap:14px}
.lightbox-stage{display:grid;place-items:center;min-height:0}
.lightbox-stage img{max-width:100%;max-height:76vh;width:auto;height:auto;border-radius:12px;box-shadow:0 24px 60px rgba(0,0,0,.5)}
.lightbox-bar{display:grid;gap:6px;text-align:center;color:#fff}
.lightbox-bar p{margin:0;font-weight:750;font-size:1rem}
.lightbox-bar span{color:rgba(255,255,255,.62);font-size:.84rem;letter-spacing:.04em}
.lightbox button{position:absolute;border:0;cursor:pointer;background:rgba(255,255,255,.13);color:#fff;border-radius:50%;width:50px;height:50px;display:grid;place-items:center;transition:.18s}
.lightbox button:hover{background:var(--gold);color:#152019}
.lightbox button:focus-visible{outline:3px solid var(--gold2);outline-offset:2px}
.lightbox button svg{width:22px;height:22px;fill:currentColor}
.lb-close{top:18px;right:18px}
.lb-prev{left:18px;top:50%;transform:translateY(-50%)}
.lb-next{right:18px;top:50%;transform:translateY(-50%)}
@media(max-width:900px){.exp-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.exp-grid{grid-template-columns:1fr}.exp-card.is-wide{grid-column:span 1}.lightbox{padding:14px}.lightbox-stage img{max-height:66vh}.lightbox button{width:44px;height:44px}.lb-prev{left:8px}.lb-next{right:8px}.lb-close{top:10px;right:10px}}
@media(prefers-reduced-motion:reduce){.exp-card img{transition:none}.exp-card:hover img,.exp-card:focus-visible img{transform:none}}

/* our-experiences hero — real <img> anchored to the top so no face is cropped.
   min-height keeps a 29vw floor so ultra-wide windows stay tall enough for the faces. */
.exp-hero{position:relative;overflow:hidden;background:#031c14;min-height:64vh;min-height:max(64vh,29vw)}
.exp-hero>.exp-hero-media{position:absolute;inset:0;display:block}
.exp-hero>.exp-hero-media img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 0}
.exp-hero>.exp-hero-veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,28,20,.9) 8%,rgba(3,28,20,.36) 62%,rgba(3,28,20,.12))}
.exp-hero>.hero-copy{position:relative;z-index:1}
@media(max-width:720px){.exp-hero{display:block;min-height:0}.exp-hero>.exp-hero-media{position:static}.exp-hero>.exp-hero-media img{height:auto;max-width:100%;aspect-ratio:950/1057}.exp-hero>.exp-hero-veil{display:none}.exp-hero>.hero-copy{padding:30px 0 46px}}
