/* SALTRIPS — Deep Blue Charter theme */
:root{
  --bg:#1D4A52; --card:#2A5F68; --card2:#36737C; --line:#36737C;
  --turq:#7FD3CA; --peach:#F2AE6B; --text:#EEF5F4; --muted:#A9C7C4;
  --ink-on-peach:#1E0E00; --ink-on-turq:#10343A;
  --head:'Barlow Condensed',system-ui,sans-serif; --body:'Barlow',system-ui,sans-serif;
  --pad:clamp(16px,4.5vw,56px); --radius:6px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--body);font-size:16px;line-height:1.5}
img{max-width:100%;display:block}
a{color:var(--text);text-decoration:none}
a:hover{color:var(--turq)}
:focus-visible{outline:2px solid var(--turq);outline-offset:3px}
.wrap{max-width:1280px;margin:0 auto;padding:0 var(--pad)}
h1,h2,h3{font-family:var(--head);font-weight:700;margin:0;letter-spacing:.02em}
h1{font-size:clamp(44px,9vw,104px);line-height:.95;overflow-wrap:anywhere}
h2{font-size:clamp(28px,4vw,40px);line-height:1.05}
h3{font-size:24px;line-height:1.1}
p{margin:0}
.sub{color:var(--turq);letter-spacing:.08em;font-size:clamp(15px,1.8vw,20px)}
.muted{color:var(--muted)}
.skip{position:absolute;left:-999px;top:8px;background:var(--peach);color:var(--ink-on-peach);padding:8px 14px;border-radius:4px;z-index:50}
.skip:focus{left:8px}

/* header */
.site-head{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-top:24px;padding-bottom:8px;position:relative}
.logo img{height:clamp(68px,9vw,104px);width:auto}
.nav{display:flex;gap:clamp(16px,2.2vw,30px);font-weight:500;letter-spacing:.08em;font-size:14px}
.nav a{padding:10px 0}
.nav a[aria-current="page"]{color:var(--turq)}
.menu-btn{display:none;background:none;border:1px solid var(--turq);color:var(--text);border-radius:4px;min-height:44px;padding:0 14px;font:500 14px var(--body);letter-spacing:.08em;cursor:pointer}
@media (max-width:1000px){
  .menu-btn{display:inline-flex;align-items:center;gap:8px}
  .nav{display:none;position:absolute;right:var(--pad);top:calc(100% - 4px);z-index:20;flex-direction:column;gap:0;background:var(--card);border-radius:var(--radius);padding:8px 20px;min-width:220px;box-shadow:0 12px 30px rgba(0,0,0,.3)}
  .nav.open{display:flex}
  .nav a{padding:12px 0;border-bottom:1px solid var(--line)}
  .nav a:last-child{border-bottom:0}
}

/* page intro */
.intro{display:flex;flex-direction:column;gap:16px;padding-top:20px;padding-bottom:28px}
main{padding-bottom:64px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 28px;border-radius:4px;font:500 16px var(--body);border:0;cursor:pointer;text-align:center}
.btn-peach{background:var(--peach);color:var(--ink-on-peach)}
.btn-peach:hover{color:var(--ink-on-peach);filter:brightness(1.06)}
.btn-turq{background:var(--turq);color:var(--ink-on-turq)}
.btn-turq:hover{color:var(--ink-on-turq);filter:brightness(1.06)}
.btn-line{background:transparent;color:var(--text);border:1px solid var(--turq)}
.btn-row{display:flex;flex-wrap:wrap;gap:12px}

.card{background:var(--card);border-radius:var(--radius)}
.tag{display:inline-block;background:var(--peach);color:var(--ink-on-peach);font-size:12px;font-weight:500;letter-spacing:.1em;padding:6px 12px}
.photo{border-radius:var(--radius);overflow:hidden;background:var(--card)}
.photo img{width:100%;height:100%;object-fit:cover}

/* home */
.home-grid{display:grid;grid-template-columns:3fr 1fr;gap:20px;min-height:464px}
.hero{position:relative;border-radius:var(--radius);overflow:hidden;display:flex;align-items:flex-end;padding:20px;min-height:464px;background:var(--card2)}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 100%}
.hero-box{position:relative;background:rgba(29,74,82,.88);border-radius:var(--radius);padding:18px 22px;display:flex;flex-direction:column;gap:8px;max-width:640px}
.hero-box .t{font-family:var(--head);font-weight:700;font-size:clamp(30px,4vw,44px);line-height:1.05}
.more{display:flex;flex-direction:column;overflow:hidden}
.more img{flex:1 1 0;min-height:220px;width:100%;object-fit:cover;object-position:center 40%}
.more .txt{padding:16px 18px;display:flex;flex-direction:column;gap:6px}
.more .k{font-size:12px;letter-spacing:.1em;color:var(--turq)}
.more .t{font-family:var(--head);font-weight:700;font-size:22px;line-height:1.1}
.link-peach{color:var(--peach);font-weight:500}
@media (max-width:800px){
  .home-grid{grid-template-columns:1fr}
  .hero{min-height:0;padding:0;flex-direction:column;align-items:stretch;background:var(--card)}
  .hero>img{position:static;height:auto;aspect-ratio:4/3;object-position:center 75%}
  .hero-box{background:var(--card);border-radius:0;max-width:none}
  .more img{aspect-ratio:16/10;flex:none;height:auto;min-height:0}
}

/* three-column info layout (fishing / about) */
.tri{display:grid;grid-template-columns:1fr 1.3fr .9fr;gap:20px}
.tri.about{grid-template-columns:.72fr 1.5fr .9fr}
.stack{display:flex;flex-direction:column;gap:12px}
.stack .photo{flex:1 1 0;min-height:200px}
.text-card{padding:28px 32px;display:flex;flex-direction:column;gap:14px}
.text-card p{font-size:15.5px;line-height:1.6}
.fact{flex:1;padding:16px 20px;display:flex;flex-direction:column;justify-content:center;gap:4px;font-size:14.5px}
.fact h3{font-size:24px}
.cta{margin-top:24px}
.lic{display:flex;flex-direction:column;gap:4px;font-size:13.5px}
.lic div{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.lic span:first-child{color:var(--muted)}
.lic b{font-weight:500}
.head-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
@media (max-width:900px){
  .tri,.tri.about{grid-template-columns:1fr}
  .stack .photo{min-height:0;aspect-ratio:4/3;flex:none}
  .tri.about>.photo{aspect-ratio:3/4}
  .text-card{padding:22px 20px}
}

/* activities */
.act{padding-top:44px;border-top:1px solid var(--line);margin-top:44px;display:flex;flex-direction:column;gap:22px}
.act:first-of-type{border-top:0;margin-top:28px;padding-top:0}
.act-head{display:flex;flex-direction:column;gap:6px}
.act-main{display:grid;grid-template-columns:1.1fr 1fr;gap:20px}
.act-main.flip .photo{order:2}
.act-main .photo{min-height:360px}
.act-text{padding:28px 32px;display:flex;flex-direction:column;gap:14px}
.act-text p{font-size:15.5px;line-height:1.6}
.price{margin-top:auto;padding-top:16px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:12px}
.price .k{font-size:12px;letter-spacing:.1em;color:var(--muted)}
.price .v{font-family:var(--head);font-weight:700;font-size:36px;line-height:1;color:var(--peach)}
.lists{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.lists .card{padding:22px 24px}
.lists ul{margin:12px 0 0;padding-left:18px;display:flex;flex-direction:column;gap:6px;font-size:15px}
.lists li::marker{color:var(--turq)}
@media (max-width:900px){
  .act-main{grid-template-columns:1fr}
  .act-main.flip .photo{order:0}
  .act-main .photo{min-height:0;aspect-ratio:4/3}
  .act-text{padding:22px 20px}
  .lists{grid-template-columns:1fr}
}

/* calendar */
.legend{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px}
.pill{font-size:12px;font-weight:500;letter-spacing:.06em;padding:4px 12px;border-radius:999px}
.st-open{background:var(--turq);color:var(--ink-on-turq)}
.st-full{background:var(--peach);color:var(--ink-on-peach)}
.st-closed{background:var(--card2);color:var(--text)}
.cal-sec{display:flex;flex-direction:column;gap:14px;margin-top:44px;scroll-margin-top:16px}
.sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:10px}
.sec-head .n{font-size:14px;letter-spacing:.08em;color:var(--turq)}
.note{font-size:14.5px;color:var(--muted)}
.note b{color:var(--text);font-weight:500}
.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(138px,1fr));gap:10px}
.slot{background:var(--card);border-radius:var(--radius);padding:10px 12px;display:flex;flex-direction:column;gap:4px;min-height:96px;border:1px solid transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer}
.slot:hover{border-color:var(--turq);color:var(--text)}
.slot[disabled]{cursor:default;opacity:.75}
.slot[disabled]:hover{border-color:transparent}
.slot .no{font-size:11px;letter-spacing:.1em;color:var(--muted)}
.slot .lb{align-self:flex-start;border:1px solid var(--peach);color:var(--peach);font-size:10px;font-weight:500;letter-spacing:.08em;padding:2px 6px;border-radius:3px}
.slot .d{font-weight:500;font-size:15px}
.slot .p{font-size:13px;color:var(--peach);font-weight:500}
.slot .s{align-self:flex-start;margin-top:auto}

/* forms */
.book{margin-top:56px;padding:40px;display:grid;grid-template-columns:1fr 2fr;gap:48px;scroll-margin-top:16px}
.book-side{display:flex;flex-direction:column;gap:16px}
.book-side h2{font-size:clamp(36px,5vw,48px);line-height:1}
.side-foot{margin-top:auto;border-top:1px solid var(--line);padding-top:16px;display:flex;flex-direction:column;gap:10px;font-size:15px}
.form{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px;align-items:end}
.full{grid-column:1/-1}
.fgroup{display:flex;flex-direction:column;gap:6px;min-width:0}
.fgroup label,.lab{font-size:13px;letter-spacing:.08em;color:var(--muted)}
.req{color:var(--peach)}
input,select,textarea{width:100%;min-width:0;height:48px;background:var(--bg);border:1px solid var(--card2);border-radius:4px;color:var(--text);padding:0 12px;font:16px var(--body)}
textarea{height:auto;min-height:120px;padding:12px;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:var(--turq);outline:none;box-shadow:0 0 0 2px rgba(127,211,202,.35)}
select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--turq) 50%),linear-gradient(135deg,var(--turq) 50%,transparent 50%);background-position:calc(100% - 18px) 21px,calc(100% - 13px) 21px;background-size:5px 5px;background-repeat:no-repeat;padding-right:34px}
.form-title{font-family:var(--head);font-weight:700;font-size:24px;letter-spacing:.04em}
.divider{border-top:1px solid var(--line);padding-top:18px}
.person{display:grid;grid-template-columns:62px 1.4fr 1.2fr .6fr .9fr 44px;gap:12px;align-items:end}
.person .num{font-size:13px;color:var(--muted);padding-bottom:14px}
.rm{height:48px;width:44px;background:none;border:1px solid var(--card2);border-radius:4px;color:var(--muted);cursor:pointer;font-size:20px;line-height:1}
.rm:hover{border-color:var(--peach);color:var(--peach)}
.add{background:transparent;color:var(--turq);border:1px dashed var(--turq);border-radius:4px;padding:0 20px;font:500 15px var(--body);min-height:44px;cursor:pointer}
.agree{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--muted);min-height:44px}
.agree input{width:20px;height:20px;accent-color:var(--peach)}
.submit-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.hp{position:absolute;left:-5000px}
.msg{padding:14px 16px;border-radius:4px;font-size:15px;display:none}
.msg.show{display:block}
.msg.ok{background:rgba(127,211,202,.15);border:1px solid var(--turq)}
.msg.err{background:rgba(242,174,107,.15);border:1px solid var(--peach)}
@media (max-width:900px){
  .book{grid-template-columns:1fr;padding:24px 18px;gap:28px}
  .form{grid-template-columns:1fr}
  .person{grid-template-columns:1fr 1fr;padding:14px;border:1px solid var(--card2);border-radius:var(--radius);position:relative}
  .person .num{grid-column:1/-1;padding:0}
  .person .fgroup:nth-of-type(1),.person .fgroup:nth-of-type(2){grid-column:1/-1}
  .person .rm{position:absolute;top:8px;right:8px;height:36px;width:36px}
}

/* contact */
.contact{display:grid;grid-template-columns:1.3fr 1fr;gap:40px}
.contact .form{grid-template-columns:1fr 1fr}
.contact-card{padding:24px;display:flex;flex-direction:column;justify-content:flex-end;gap:12px}
.contact-card address{font-style:normal;line-height:1.5}
@media (max-width:900px){
  .contact{grid-template-columns:1fr;gap:28px}
  .contact .form{grid-template-columns:1fr}
}

/* gallery */
.gal-sec{display:flex;flex-direction:column;gap:16px;margin-top:40px}
.masonry{column-count:4;column-gap:12px}
.masonry img{width:100%;height:auto;border-radius:var(--radius);margin:0 0 12px;break-inside:avoid}
.even{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.even img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius)}
.gal-nav{display:flex;flex-wrap:wrap;gap:8px}
.gal-nav a{border:1px solid var(--card2);border-radius:999px;padding:8px 14px;font-size:13px;letter-spacing:.06em}
@media (max-width:900px){.masonry{column-count:2;column-gap:8px}.masonry img{margin-bottom:8px}}
@media (max-width:600px){.even{grid-template-columns:1fr}}

/* footer */
.site-foot{border-top:1px solid var(--line);padding-top:32px;padding-bottom:40px;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:28px;font-size:14.5px}
.site-foot .k{font-size:12px;letter-spacing:.1em;color:var(--muted);margin-bottom:6px}
.site-foot img{height:72px;width:auto;margin-bottom:10px}
.site-foot .copy{grid-column:1/-1;color:var(--muted);font-size:13px}
@media (max-width:800px){.site-foot{grid-template-columns:1fr}}
.wa{display:inline-flex;align-items:center;gap:8px;color:var(--turq)}
.site-foot.small{display:block;padding-top:20px;padding-bottom:28px}
.site-foot.mobile-only{display:none}
@media (max-width:800px){.site-foot.desk-only{display:none}.site-foot.mobile-only{display:block}}
.sec-head .sec-title{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap}
.sec-head{align-items:center}
.book-btn{min-height:44px;padding:0 20px;font-size:15px}
.fab{position:fixed;right:max(16px,env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:30;box-shadow:0 8px 24px rgba(0,0,0,.35)}
.fab[hidden]{display:none}
@media (max-width:600px){.sec-head .book-btn{width:100%}.fab{left:max(16px,env(safe-area-inset-left,0px));right:max(16px,env(safe-area-inset-right,0px))}}
.phone-row{display:grid;grid-template-columns:minmax(96px,38%) 1fr;gap:8px}
.phone-row select{padding-right:28px}
