@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500&display=swap');
:root{--ink:#183e2e;--blue:#387b5b;--lime:#d4ed62;--paper:#f7f9f8;--line:#dce5df}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.7 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #6b881a;outline-offset:5px}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.12}h1,h2{font-family:'Playfair Display',Georgia,serif;font-weight:500}h1{font-size:clamp(3.1rem,5.7vw,5.7rem);letter-spacing:-.045em}h2{font-size:clamp(2.2rem,3.8vw,3.6rem);letter-spacing:-.035em}h3{font-size:1.5rem}p{color:#506458}.wrap{width:min(1280px,calc(100% - 96px));margin:auto}header{height:100px;background:var(--paper);border-bottom:1px solid var(--line);display:flex;align-items:center}header .wrap{display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{font-size:22px;line-height:1.05;font-weight:700;letter-spacing:-.8px;display:flex;gap:12px;align-items:center}.brand small{display:block;font-size:15px;font-weight:400;letter-spacing:1.6px;margin-top:6px}.mark{width:42px;height:42px;display:grid;place-items:center;background:var(--lime);border-radius:50%;font:italic 31px Georgia}nav{display:flex;gap:31px;align-items:center;font-size:15px}nav a:hover{color:#738d1e}.nav-contact{border:1px solid #a9bfb1;padding:10px 21px;border-radius:30px}.hero{display:grid;grid-template-columns:1fr 1.05fr;gap:65px;align-items:center;padding:65px 0 75px}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:13px;font-weight:700;margin-bottom:24px;display:block}.hero h1 em{font-weight:500;position:relative;white-space:nowrap}.hero h1{margin-bottom:25px}.hero p{max-width:440px;font-size:18px}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;background:var(--blue);color:white;padding:15px 25px;border-radius:6px;font-size:15px;font-weight:600}.button:hover{background:#2d6549}.button.lime{background:var(--lime);color:var(--ink)}.hero-actions{display:flex;gap:28px;align-items:center;margin-top:32px}.text-link{font-size:15px;text-decoration:underline;text-underline-offset:5px}.hero-visual{position:relative;padding:0 0 22px 12px}.hero-visual>img{height:540px;border-radius:140px 10px 10px 10px}.photo-note{position:absolute;bottom:0;left:-24px;background:var(--lime);padding:20px 28px;transform:rotate(-3deg);font-family:'Playfair Display',Georgia,serif;font-size:24px;box-shadow:0 6px 20px #183e2e10}.photo-note small{font:12px 'DM Sans',sans-serif;display:block;letter-spacing:2px;text-transform:uppercase;margin-bottom:5px}.ribbon{background:var(--blue);color:white;padding:22px 0}.ribbon .wrap{display:flex;justify-content:space-between;gap:24px}.ribbon span{font-size:15px}.ribbon b{color:var(--lime);font-weight:400;padding-right:14px}.section{padding:90px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:40px}.section-head h2{margin:0}.section-head p{max-width:310px;margin:0;font-size:16px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.card{background:white;border:1px solid var(--line);border-radius:9px;overflow:hidden;display:flex;flex-direction:column;transition:transform .2s}.card:hover{transform:translateY(-5px)}.card-image{position:relative}.card img{height:245px}.tag{position:absolute;top:17px;left:17px;background:var(--lime);border-radius:30px;padding:5px 13px;font-size:12px;font-weight:600}.tag.full{background:var(--lime)}.card-body{padding:25px;display:flex;flex-direction:column;flex:1}.date{font-size:14px;color:#506458;display:block;margin-bottom:12px}.card h3{font-family:'Playfair Display',Georgia,serif;font-size:30px;margin:0 0 13px}.card p{font-size:15px;line-height:1.6;margin-bottom:23px}.card-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:18px;margin-top:auto;gap:12px;font-size:14px}.card-bottom strong{font-size:17px}.round-arrow{display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;width:36px;height:36px}.about{background:#eaf1ed}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.about img{height:530px;border-radius:8px}.about p{max-width:470px}.signature{font-family:'Playfair Display',Georgia,serif;font-style:italic;font-size:32px;color:var(--ink)}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.gallery figure{margin:0}.gallery img{height:290px;border-radius:7px}.gallery figcaption{font-size:15px;margin-top:10px}.contact{background:var(--lime);padding:65px 0}.contact .wrap{display:flex;justify-content:space-between;align-items:center;gap:35px}.contact h2{font-size:43px;margin-bottom:15px}.contact p{color:var(--ink);margin:0}.contact-actions{display:flex;flex-direction:column;gap:15px;text-align:center}.phone{font-size:23px;font-weight:600}footer{background:var(--blue);color:white;padding:45px 0}footer .wrap{display:flex;justify-content:space-between;gap:25px}footer p,footer small{color:#e5f0e9;font-size:13px}footer a{font-size:14px}footer .links{display:flex;gap:20px}.breadcrumb{font-size:14px;padding-top:30px}.detail-hero{padding:45px 0;display:grid;grid-template-columns:1.05fr 1fr;gap:60px;align-items:center}.detail-hero h1{font-size:clamp(3rem,5vw,4.8rem)}.detail-hero img{height:430px;border-radius:8px 100px 8px 8px}.detail-content{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:70px;padding:35px 0 80px}.article h2{font-family:'DM Sans',sans-serif;font-size:26px;font-weight:600;margin:45px 0 20px;letter-spacing:0}.article h3{font-size:21px;margin:30px 0 15px}.article p{font-size:16px}.article ul{color:#506458;padding-left:22px}.article li{margin-bottom:9px}.article a{text-decoration:underline;overflow-wrap:anywhere}.detail-aside{align-self:start;position:sticky;top:30px;background:white;border:1px solid var(--line);padding:26px;border-radius:8px}.detail-aside .button{width:100%}.detail-aside p{font-size:14px}.detail-aside strong{font-size:25px}.article .gallery{grid-template-columns:1fr 1fr;margin:30px 0}.article .gallery img{height:230px}.form-wrap{padding:40px 0 80px}.form-wrap iframe{width:100%;height:1100px;border:0;background:white}.form-wrap p{max-width:680px}.archive-note{background:#eaf1ed;padding:18px;border-radius:5px;margin-top:25px;font-size:15px}details{border-bottom:1px solid var(--line);padding:17px 0}summary{cursor:pointer;font-weight:600}.menu-button{display:none}@media(max-width:1000px){.wrap{width:calc(100% - 48px)}nav{gap:17px}.hero{gap:30px}.hero-visual>img{height:470px}.cards{gap:20px}.card-body{padding:19px}.card img{height:210px}.about-grid{gap:40px}.detail-content{gap:30px;grid-template-columns:minmax(0,1fr) 260px}}@media(max-width:700px){.wrap{width:calc(100% - 36px)}header{height:auto;min-height:86px;padding:18px 0}header .wrap{flex-wrap:wrap}.brand{font-size:20px}.brand small{font-size:13px}nav{width:100%;gap:16px;flex-wrap:wrap;font-size:14px}.nav-contact{padding:4px 12px}.hero{grid-template-columns:1fr;padding:38px 0 50px;gap:35px}.hero h1{font-size:3.6rem}.hero-visual{padding-left:10px}.hero-visual>img{height:380px;border-top-left-radius:90px}.photo-note{left:0;font-size:21px}.ribbon .wrap{flex-wrap:wrap;gap:8px 20px}.ribbon span{font-size:13px}.section{padding:60px 0}.section-head{display:block}.section-head p{margin-top:20px}.cards{grid-template-columns:1fr}.card img{height:270px}.card-body{padding:25px}.about-grid,.detail-hero{grid-template-columns:1fr;gap:30px}.about img{height:420px}.gallery{grid-template-columns:1fr 1fr;gap:15px}.gallery img{height:190px}.contact .wrap,footer .wrap{display:block}.contact-actions{margin-top:30px;text-align:left;align-items:start}.contact h2{font-size:36px}footer .links{margin-top:20px;flex-wrap:wrap}.detail-hero img{height:300px}.detail-content{display:flex;flex-direction:column-reverse}.detail-aside{position:static;width:100%}.detail-hero h1{font-size:3.2rem}.article .gallery img{height:160px}.hero-actions{gap:20px}.button{padding:14px 20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.card{transition:none}}

/* Official brand: white artwork on the primary green. */
header{background:#387b5b;color:white;height:122px;border-bottom:0}
header nav a:hover{color:var(--lime)}
header .nav-contact{border-color:#ffffff80}
.brand{flex-shrink:0}
.official-logo{display:block;width:144px;height:auto;object-fit:contain}
footer{background:#387b5b}
footer .official-logo{width:165px}
header a:focus-visible,footer a:focus-visible{outline-color:var(--lime)}
@media(max-width:700px){header{height:auto;padding:14px 0}header .wrap{gap:15px}.official-logo{width:130px}header nav{padding-top:8px}footer .official-logo{width:150px;margin-bottom:25px}}

/* Correct supplied logo, with its original black artwork. */
.official-logo{background:transparent;border-radius:0;padding:0}
.memory-gallery img{object-fit:contain;background:#eaf1ed}

.home-memories{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch}
.home-memories img{height:240px}
.memories-tile{display:flex;flex-direction:column;justify-content:center;gap:22px;background:var(--blue);color:white;border-radius:7px;padding:25px;min-height:240px;transition:background .2s}
.memories-tile:hover{background:#2d6549}
.memories-tile .eyebrow{color:var(--lime);font-size:12px;margin:0;letter-spacing:1.3px}
.memories-title{font-family:'Playfair Display',Georgia,serif;font-size:32px;line-height:1.2}
.memories-caption{font-size:14px;line-height:1.5}
.memories-caption span{color:var(--lime);padding-left:8px}
@media(max-width:1000px){.home-memories{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.home-memories img{height:190px}.memories-tile{padding:20px;min-height:190px;gap:16px}.memories-title{font-size:26px}.memories-tile .eyebrow{font-size:12px;letter-spacing:.6px}}
@media(max-width:370px){.memories-tile{padding:13px}.memories-title{font-size:23px}}

.about-socials{margin-top:30px}.about-socials p{font-size:16px;margin-bottom:14px}.social-buttons{display:flex;flex-wrap:wrap;gap:12px}

.article .trip-gallery img{height:auto;max-height:none;object-fit:contain}.detail-hero>img.trip-cover{height:auto;max-height:540px;object-fit:contain;border-radius:8px}

/* Larger mobile logo; wordmark stays vector-sharp without an SVG filter. */
@media(max-width:700px){header .official-logo{width:156px;max-width:100%;height:auto}}

.hero-visual>img.nice-hero{height:660px;object-position:center bottom}.hero-visual .photo-note{left:auto;bottom:auto;right:-12px;top:25px}
@media(max-width:700px){.hero-visual>img.nice-hero{height:480px;object-position:center bottom}.hero-visual .photo-note{right:0;top:20px}}
