/* Coastal photo journal: original Barefoot green, pink and serif identity. */
header{position:relative;z-index:4;padding-top:14px;padding-bottom:14px}
header .brand img{width:66px;height:66px}
header nav{gap:22px}
.coastal-hero{grid-template-columns:1fr 1fr;isolation:isolate}
.coastal-hero .hero-copy{padding:80px 10% 75px;min-width:0;align-self:center}
.coastal-hero h1{font-size:clamp(3.1rem,5.1vw,6rem);letter-spacing:-.045em}
.coastal-hero .hero-sub{font-size:19px;color:#eef4ee}
.coastal-hero .status{font-size:14px;max-width:520px;color:#dce9df}
.coastal-hero .hero-image{min-height:720px;overflow:hidden;background:var(--deep)}
.coastal-hero .hero-image img{width:100%;height:100%;object-position:50% 50%}
.coastal-hero .hero-image figcaption{margin:0;padding:60px 30px 25px;color:white;font-size:14px;letter-spacing:1.3px}
.coastal-hero .hero-foot{min-height:64px;align-items:center;padding:20px 5%;font-size:14px}
.destination{background:#e7e9df}
.destination-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:8%;align-items:center}
.coast-panorama{min-width:0}
.coast-panorama img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover}
.coast-panorama figcaption{font-size:14px}
.destination-copy h2{font-size:clamp(2.6rem,4.4vw,4.5rem)}
.destination-copy .lead{margin-top:28px}
.destination-copy>p:not(.eyebrow){color:var(--muted)}
.destination-copy .fine{border-top:1px solid #b8c4b5;padding-top:24px}
.coastal-moments{display:grid;grid-template-columns:.85fr 1.15fr;gap:7%;align-items:center;margin-top:80px;padding-top:70px;border-top:1px solid #b8c4b5}
.moments-copy h2{font-size:clamp(2.5rem,4vw,4rem)}
.moments-copy>p:not(.eyebrow){margin-top:26px;color:var(--muted);max-width:410px}
.moment-films{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}
.moment-films figure{min-width:0}
.moment-films figure:nth-child(2){margin-top:55px}
.moment-films video{display:block;width:100%;height:auto;aspect-ratio:512/910;object-fit:contain;background:var(--deep)}
.moment-films figcaption{font-size:14px;line-height:1.5}
.site-coast-photo{width:100%;max-width:none}
.site-coast-photo img{height:auto;aspect-ratio:1.8;object-position:center 45%}
.site-coast-photo figcaption{font-size:14px}
.photo-journal{background:#edf0e9}
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 24px;margin-top:46px}
.gallery-card{min-width:0}
.gallery-open{display:block;position:relative;overflow:hidden;background:#cfd8ca;border-radius:2px}
.gallery-open img{height:auto;width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .35s}
.fern-card img{object-position:center 18%}
.gallery-open:hover img{transform:scale(1.025)}
.gallery-zoom{position:absolute;right:12px;bottom:12px;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--paper);color:var(--green);font-size:22px;box-shadow:0 1px 10px #0002}
.gallery-card figcaption{font-size:14px;margin-top:12px;line-height:1.4}
.vision>img{object-position:center 20%}
.real-grid figure:last-child img{object-fit:cover;object-position:center 42%}
.gallery-modal-open{overflow:hidden}
#photo-viewer{width:min(1100px,96vw);max-height:94dvh;border:0;border-radius:4px;background:var(--deep);color:white;padding:16px 22px;overflow:auto;box-shadow:0 12px 80px #0006}
#photo-viewer::backdrop{background:#001d18ec}
.viewer-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:12px}
.viewer-bar span{font-size:14px;letter-spacing:1px}
#photo-viewer button{background:transparent;border:1px solid #80978a;color:white;border-radius:2px;min-height:44px;min-width:44px;padding:7px 16px;font-size:15px}
#viewer-close{font-size:28px!important;border:0!important;padding:0!important}
#viewer-image{height:min(68dvh,760px);width:100%;object-fit:contain}
#viewer-title{color:white;text-align:center;min-height:23px}
.viewer-nav{display:flex;justify-content:space-between;gap:25px;margin-top:14px}
#photo-credits:target{outline:1px solid #71897d;padding:10px}
#photo-credits a{text-decoration-thickness:1px}
video:focus-visible{outline:3px solid #b82173;outline-offset:5px}
@media(min-width:1700px){.coastal-hero .hero-image{min-height:880px}}
@media(max-width:1100px){
  header nav{gap:17px}
  .coastal-hero .hero-copy{padding:58px 9%}
  .coastal-hero h1{font-size:clamp(3rem,5.2vw,4.4rem)}
  .coastal-hero .hero-image{min-height:650px}
  .destination-grid{gap:6%}
  .destination-copy .lead{font-size:21px}
  .coastal-moments{grid-template-columns:1fr;gap:35px}
  .moments-copy{max-width:650px}
  .moments-copy>p:not(.eyebrow){max-width:600px}
  .moment-films{width:min(100%,690px);justify-self:center;gap:28px}
  .moment-films figure:nth-child(2){margin-top:0}
}
@media(max-width:720px){
  header{padding:14px 6%}
  .coastal-hero{grid-template-columns:1fr}
  .coastal-hero .hero-image{order:-1;min-height:0;height:clamp(340px,95vw,540px)}
  .coastal-hero .hero-image img{object-position:50% 50%}
  .coastal-hero .hero-image figcaption{padding:42px 7% 20px;font-size:12px}
  .coastal-hero .hero-copy{padding:44px 7% 48px}
  .coastal-hero h1{font-size:clamp(2.9rem,10vw,4.5rem)}
  .coastal-hero .hero-sub{font-size:18px}
  .coastal-hero .hero-foot{flex-wrap:wrap;gap:14px;padding:20px 7%;font-size:12px}
  .coastal-hero .hero-foot a{font-size:14px}
  .hero-copy .button{max-width:100%;font-size:14px}
  .destination-grid{grid-template-columns:1fr;gap:34px}
  .destination-copy{order:-1}
  .coast-panorama img{aspect-ratio:3/4;max-height:660px}
  .coastal-moments{margin-top:48px;padding-top:48px}
  .moment-films{gap:18px}
  .site-coast-photo img{aspect-ratio:4/5;object-position:center 40%}
  .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 16px;margin-top:34px}
  .gallery-zoom{width:32px;height:32px;right:8px;bottom:8px}
  .vision>img{height:480px;object-position:center 20%}
  #photo-viewer{padding:12px;width:96vw}
  #viewer-image{height:62dvh}
  #viewer-title{font-size:14px}
}
@media(max-width:480px){
  .moment-films{grid-template-columns:1fr;max-width:320px;gap:30px}
  .gallery-card figcaption{font-size:14px}
}
@media(prefers-reduced-motion:reduce){.gallery-open img{transition:none}}
