@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,600;0,9..144,700;1,9..144,600;1,9..144,700&family=Inter:wght@400;600;700;800&display=swap');

/* Sharkier — light Shopify-match theme (like live sharkier.com) */
:root{
  --sand:#f7f1e1; --paper:#fffdf8; --card:#ffffff;
  --ink:#12242f; --deep:#0d2c42; --navy:#0d2c42;
  --aqua:#17a688; --aqua-dark:#0e9d7c; --mint:#e6f7f1; --foam:#8fe8d2;
  --gold:#f0ad3c; --bronze:#8a5c14; --cream:#fdf8ec;
  --mut:#5c7284; --line:rgba(13,44,66,.1);
  --radius:20px; --maxw:1100px;
  --shadow:0 10px 30px rgba(13,44,66,.08);
  --btn-grad:linear-gradient(135deg,#2dd4a7,#0e9d7c);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;font-family:'Inter',system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color:var(--ink);background:var(--sand);line-height:1.65;font-size:17px;
  overflow-x:clip;
}
img{max-width:100%;height:auto}
a{color:var(--aqua-dark);text-decoration:none;font-weight:600}
a:hover{color:var(--deep)}
h1,h2,h3{font-family:'Fraunces',Georgia,serif;line-height:1.15;color:var(--ink);margin:1.1em 0 .55em;letter-spacing:-.01em;overflow-wrap:break-word}
h1{font-size:clamp(2rem,6vw,3rem)}
h2{font-size:clamp(1.55rem,4.5vw,2.1rem)}
h3{font-size:1.25rem}
p{margin:.85em 0}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 1.25rem}
main{display:block}
section.block{padding:2.4rem 0}

/* Eyebrow kicker — teal, like live "AT A GLANCE" */
.eyebrow{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--aqua-dark);margin-bottom:10px}

/* ============ Header — light, like the live store ============ */
.site-header{background:var(--paper);color:var(--ink);position:sticky;top:0;z-index:50;
  box-shadow:0 2px 14px rgba(13,44,66,.08);border-bottom:1px solid var(--line)}
.site-header .wrap{display:flex;align-items:center;gap:.7rem;padding:.6rem 1.25rem;flex-wrap:wrap}
.brand{color:var(--ink);text-decoration:none;font-family:'Fraunces',Georgia,serif;font-weight:700;
  font-size:1.45rem;letter-spacing:.5px;display:flex;align-items:center;gap:.6rem;line-height:1}
.brand:hover{text-decoration:none;color:var(--aqua-dark)}
.site-header .brand img{width:38px;height:38px;max-width:38px;border-radius:50%;background:#fff;
  object-fit:cover;display:block;flex:none;box-shadow:0 2px 8px rgba(13,44,66,.15)}
.nav-toggle{margin-left:auto;background:var(--mint);border:1px solid rgba(23,166,136,.3);border-radius:10px;
  width:46px;height:46px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;flex:none}
.nav-toggle span{display:block;width:20px;height:2px;background:var(--aqua-dark);border-radius:2px}
.main-nav{display:none;flex-direction:column;background:var(--paper);padding:.4rem 0 1.1rem;flex-basis:100%;width:100%}
.main-nav.open{display:flex}
.main-nav a{color:var(--ink);text-decoration:none;padding:.7rem 0;border-top:1px solid var(--line);font-weight:600}
.main-nav a:hover{color:var(--aqua-dark);text-decoration:none}
.main-nav a.cta{color:#03231a;background:var(--btn-grad);border-radius:14px;text-align:center;
  margin-top:.7rem;padding:.85rem;border:none;font-weight:800;box-shadow:0 6px 18px rgba(23,166,136,.35)}
.main-nav a.cta:hover{filter:brightness(1.06);color:#03231a}
@media(min-width:860px){
  .nav-toggle{display:none}
  .main-nav{display:flex;flex-direction:row;gap:1.3rem;margin-left:auto;align-items:center;
    background:none;padding:0;flex-basis:auto;width:auto}
  .main-nav a{border:none;padding:.3rem 0}
  .main-nav a.cta{margin:0;padding:.6rem 1.25rem}
}

/* ============ Hero ============ */
/* Default inner hero — light sand band */
.hero{background:linear-gradient(180deg,#efe6cf,var(--sand));padding:2.6rem 0 2.2rem}
.hero .wrap{max-width:var(--maxw)}
.hero h1{margin-top:.3em;max-width:22ch}
.hero p.lede{font-size:1.15rem;color:var(--mut);max-width:40rem}

/* Photo hero — like the live homepage: full-bleed beach photo, dark overlay */
.hero-photo{background-size:cover;background-position:center 35%;color:#fff;position:relative;padding:4.5rem 0 3.5rem;overflow:hidden}
.hero-photo::before{content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(7,28,43,.7) 0%,rgba(7,28,43,.55) 45%,rgba(7,28,43,.75) 100%)}
.hero-photo .wrap{position:relative;z-index:1}
.hero-photo .eyebrow{color:var(--foam)}
.hero-photo h1{color:#fff;margin-top:.35em;max-width:20ch;text-shadow:0 2px 18px rgba(0,0,0,.35)}
.hero-photo h1 em{font-style:italic;color:var(--foam)}
.hero-photo p{color:rgba(255,255,255,.92);max-width:40rem;text-shadow:0 1px 10px rgba(0,0,0,.35)}
.hero-photo p.lede{font-size:1.15rem;color:#fff}
.hero-photo .guarantee,.hero-photo .guarantee p{color:var(--ink);text-shadow:none}
.hero-photo a{color:var(--foam)}
.hero-photo .btn{text-shadow:none}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;
  background:var(--btn-grad);color:#03231a;font-weight:800;
  text-decoration:none;padding:15px 30px;border-radius:16px;border:none;cursor:pointer;
  font-size:1rem;text-align:center;box-shadow:0 6px 22px rgba(23,166,136,.35);
  transition:transform .15s,box-shadow .15s,filter .15s}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(23,166,136,.5);filter:brightness(1.06);color:#03231a;text-decoration:none}
.btn.secondary{background:rgba(255,255,255,.12);color:#fff;border:2px solid rgba(255,255,255,.85);box-shadow:none;backdrop-filter:blur(4px)}
.btn.secondary:hover{border-color:#fff;color:#fff;background:rgba(255,255,255,.2)}
.btn-row{display:flex;flex-wrap:wrap;gap:.8rem;margin:1.3rem 0}
.alt-cta{font-weight:600}

/* Guarantee — cream card like the live site, always readable */
.guarantee{background:var(--cream);border:1px solid rgba(240,173,60,.4);border-radius:16px;
  padding:1.15rem 1.35rem;margin:1.4rem 0;color:var(--ink);box-shadow:var(--shadow);max-width:44rem}
.guarantee strong{color:var(--bronze)}
.hero-photo .guarantee{background:rgba(253,248,236,.96)}

/* Content sections */
main section{padding:1.6rem 0}
main section:first-child{padding-top:0}

/* Cards — white, like the live store */
.cards{display:grid;gap:1rem;grid-template-columns:1fr;margin:1.5rem 0}
@media(min-width:700px){.cards{grid-template-columns:repeat(3,1fr)}}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:1.4rem 1.3rem;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:.5rem;overflow:hidden}
.card>img:first-of-type,.card img{border-radius:12px}
.card h3{margin-top:.4rem;font-size:1.3rem}
.card p{color:var(--mut);font-size:.95rem}
.price{font-family:'Fraunces',Georgia,serif;font-size:1.7rem;font-weight:700;color:var(--deep)}
.price small{font-family:'Inter',sans-serif;font-size:.95rem;font-weight:500;color:var(--mut)}

/* Feature checklist — mint cards with teal checks, like live */
.fact-list{list-style:none;margin:1.2rem 0;padding:0;display:grid;gap:.7rem}
.fact-list li{background:var(--mint);border:1px solid rgba(23,166,136,.25);border-radius:14px;
  padding:.85rem 1.05rem .85rem 2.6rem;font-size:.98rem;position:relative}
.fact-list li::before{content:'✓';position:absolute;left:1rem;top:.85rem;color:var(--aqua-dark);font-weight:800}
.fact-list li strong{color:var(--deep)}
.quick-facts{list-style:none;margin:1.2rem 0;padding:0;display:flex;flex-wrap:wrap;gap:.6rem 1.6rem}
.quick-facts li{font-weight:600;font-size:.95rem;color:var(--deep);display:flex;align-items:center;gap:.5rem}
.quick-facts li::before{content:'✓';color:var(--aqua-dark);font-weight:800;flex:none}
.hero-photo .quick-facts li{color:#fff}

/* Stats grid */
.stat-grid{display:grid;gap:1rem;grid-template-columns:1fr;margin:1.5rem 0}
@media(min-width:700px){.stat-grid{grid-template-columns:repeat(2,1fr)}}
.stat-grid dt{font-family:'Fraunces',Georgia,serif;font-size:2rem;font-weight:700;color:var(--aqua-dark)}
.stat-grid dd{margin:.2rem 0 1rem;color:var(--mut)}

/* Steps */
.steps{list-style:none;counter-reset:step;margin:1.2rem 0;padding:0;display:grid;gap:.8rem}
.steps li{counter-increment:step;background:var(--card);border:1px solid var(--line);border-radius:14px;
  padding:1rem 1.2rem 1rem 3.4rem;position:relative;box-shadow:var(--shadow)}
.steps li::before{content:counter(step);position:absolute;left:1rem;top:1rem;width:1.7rem;height:1.7rem;border-radius:50%;
  background:var(--btn-grad);color:#03231a;font-weight:800;font-size:.95rem;display:flex;align-items:center;justify-content:center}

/* Tables */
.facts{width:100%;border-collapse:collapse;margin:1.2rem 0;background:var(--card);border-radius:16px;overflow:hidden;box-shadow:var(--shadow);font-size:.95rem}
.facts th,.facts td{text-align:left;padding:.75rem .95rem;border-bottom:1px solid var(--line)}
.facts th{background:var(--deep);color:#fff;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}
.facts tr:last-child td{border-bottom:none}

/* Booking iframe */
.widget-shell{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin:1.4rem 0;box-shadow:var(--shadow)}
.widget-shell iframe{width:100%;border:0;display:block;min-height:720px}
.widget-fallback{padding:1.2rem;background:var(--mint);text-align:center;display:none}
.widget-fallback.show{display:block}
.secure-note{font-size:.85rem;color:var(--mut);text-align:center}

/* CTA strip — deep navy card like the live review/CTA cards */
.cta-strip{background:linear-gradient(160deg,#10344f,var(--navy));color:#fff;border-radius:24px;
  padding:2.4rem 2rem;margin:2.2rem 0;text-align:center;box-shadow:0 14px 40px rgba(13,44,66,.25)}
.cta-strip h2{color:#fff;margin-top:0}
.cta-strip p{color:rgba(255,255,255,.85)}
.cta-strip a{color:var(--foam)}
.cta-strip .btn{box-shadow:0 8px 26px rgba(23,166,136,.45)}
.cta-block{background:var(--navy);color:rgba(255,255,255,.88);border-radius:18px;padding:1.4rem 1.5rem;margin:1.6rem 0}
.cta-block strong{color:var(--foam)}
.cta-block a{color:var(--foam)}

/* Social proof */
.social-proof{font-size:.95rem;color:var(--mut)}
.social-proof strong{color:var(--deep)}
.hero-photo .social-proof{color:rgba(255,255,255,.85)}
.hero-photo .social-proof strong{color:#fff}

/* Review card — navy with gold stars, like live */
.review-card{background:linear-gradient(160deg,#10344f,var(--navy));color:#fff;border-radius:var(--radius);
  padding:2rem 1.8rem;margin:1.6rem 0;box-shadow:0 14px 40px rgba(13,44,66,.22)}
.review-card .stars{color:var(--gold);font-size:1.4rem;letter-spacing:.15em}
.review-card strong{color:#fff}
.review-card p{color:rgba(255,255,255,.82)}

/* Journal */
.post-list,.journal-list{list-style:none;margin:0;padding:0;display:grid;gap:1rem}
.post-list li,.journal-list li{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:1.15rem 1.35rem;box-shadow:var(--shadow)}
.post-list a,.journal-list a{font-weight:700;text-decoration:none;color:var(--deep);font-size:1.08rem;font-family:'Fraunces',Georgia,serif}
.post-list a:hover,.journal-list a:hover{color:var(--aqua-dark)}
.post-meta{color:var(--mut);font-size:.88rem}
article.post-body img,.featured-image img{border-radius:var(--radius)}
.journal-entry{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:1.1rem 1.3rem;box-shadow:var(--shadow);margin:1rem 0}

/* FAQ */
details.faq{background:var(--card);border:1px solid var(--line);border-radius:16px;margin:.7rem 0;overflow:hidden;box-shadow:var(--shadow)}
details.faq summary{cursor:pointer;list-style:none;padding:1.1rem 1.25rem;font-weight:700;font-size:1.02rem;color:var(--deep);display:flex;justify-content:space-between;align-items:center;gap:.8rem;min-height:56px}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary::after{content:'+';font-size:1.5rem;color:var(--aqua-dark);font-weight:400;flex:none}
details.faq[open] summary::after{content:'–'}
details.faq p,details.faq div{padding:0 1.25rem 1.15rem;color:var(--mut)}

/* NAP / contact */
.nap{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:1.15rem 1.35rem;box-shadow:var(--shadow)}
.contact-block{display:grid;gap:1rem}
@media(min-width:700px){.contact-block{grid-template-columns:1fr 1fr}}

/* Notices */
.notice{background:rgba(240,173,60,.12);border:1px solid rgba(240,173,60,.45);border-radius:12px;padding:.95rem 1.15rem;margin:1rem 0}
.notice strong{color:var(--bronze)}
.form-note{font-size:.88rem;color:var(--mut)}
.fallback-state{background:var(--card);border:1px dashed rgba(13,44,66,.25);border-radius:14px;padding:1.2rem;text-align:center;color:var(--mut)}

/* Breadcrumb */
.crumb{font-size:.82rem;color:var(--mut);margin:1rem 0 0}
.crumb a{color:var(--mut);font-weight:500}

/* Rating */
.hunt-rating{font-size:1.05rem;color:var(--deep)}
.hunt-rating strong{color:var(--gold)}

/* Footer — deep navy like the live store */
.site-footer{background:var(--navy);color:rgba(255,255,255,.75);margin-top:3.5rem}
.site-footer .wrap{display:grid;gap:1.8rem;padding:2.6rem 1.25rem;grid-template-columns:1fr}
@media(min-width:700px){.site-footer .wrap{grid-template-columns:repeat(3,1fr)}}
.site-footer h3{color:#fff;font-size:1.05rem;font-family:'Inter',sans-serif}
.site-footer a{color:var(--foam);font-weight:500}
.site-footer a:hover{color:#fff}
.site-footer .fine{border-top:1px solid rgba(143,232,210,.15);padding:1.1rem 0;text-align:center;font-size:.84rem;color:rgba(255,255,255,.55)}
.site-footer .fine a{color:rgba(255,255,255,.7)}

/* Lead text */
.lead,.lede{font-size:1.12rem;color:var(--mut);max-width:40rem}

/* Mobile polish */
@media(max-width:560px){
  body{font-size:16px}
  .btn{width:100%;padding:16px 20px}
  .btn-row .btn{width:100%}
  .cta-strip{padding:2rem 1.25rem;border-radius:20px}
  .hero-photo{padding:3.2rem 0 2.6rem}
  h1{overflow-wrap:anywhere}
}

/* ============ Sticky mobile booking bar — like the live store ============ */
.bookbar{position:fixed;left:0;right:0;bottom:0;z-index:70;background:rgba(13,44,66,.96);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-top:1px solid rgba(143,232,210,.2);
  padding:12px 16px calc(12px + env(safe-area-inset-bottom));
  display:flex;align-items:center;justify-content:space-between;gap:12px}
.bookbar .pr{color:#fff;flex:none}
.bookbar .pr strong{font-family:'Fraunces',Georgia,serif;font-size:24px;display:block;line-height:1.1}
.bookbar .pr span{font-size:12px;color:rgba(255,255,255,.7)}
.bookbar .btn{flex:1;max-width:340px;margin:0}
.bookbar-pad{height:86px}
@media(min-width:760px){.bookbar,.bookbar-pad{display:none}}

/* Photo-card tag pill — like live "GUIDED TOUR" */
.card{position:relative}
.path-tag{position:absolute;top:14px;left:14px;background:rgba(13,44,66,.88);color:var(--foam);
  font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  padding:7px 13px;border-radius:999px;z-index:2}

/* Tooth icon inside buttons */
.btn .ticon{width:20px;height:20px;flex:none}

/* Guarantee with tooth icon */
.guarantee.has-icon{display:flex;gap:.9rem;align-items:flex-start}
.guarantee.has-icon>img{width:46px;height:46px;flex:none;margin-top:.15rem}
.guarantee small{display:block;font-size:.85em;color:var(--mut);margin-top:.3rem}
