/* bayofquintefishing.com — rustic & powerful */
:root{
  --pine:#1e3229;
  --pine-deep:#14231c;
  --char:#221d18;
  --paper:#f3ecdd;
  --paper-dim:#e7ddc8;
  --amber:#c97b2d;
  --amber-bright:#e0953f;
  --rust:#8a4b2a;
  --ink:#2b2620;
  --line:#c9b998;
}
*{box-sizing:border-box;margin:0;padding:0}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{
  font-family:'Source Sans 3',Arial,sans-serif;
  color:var(--ink);
  background:var(--paper);
  background-image:repeating-linear-gradient(90deg,rgba(120,95,55,.035) 0 2px,transparent 2px 90px),
                   linear-gradient(var(--paper),var(--paper));
  line-height:1.65;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--rust)}
a:hover{color:var(--amber)}

/* header */
.site-header{
  background:linear-gradient(180deg,var(--pine-deep),var(--pine));
  border-bottom:6px solid var(--amber);
  padding:1.1rem 1.25rem .4rem;
  color:var(--paper);
}
.brand-link{text-decoration:none;display:inline-block}
.brand-main{
  display:block;
  font-family:'Alfa Slab One',serif;
  font-size:clamp(1.5rem,4.5vw,2.6rem);
  color:var(--paper);
  letter-spacing:.5px;
  text-shadow:2px 3px 0 rgba(0,0,0,.45);
}
.brand-tag{
  display:block;
  font-family:'Bitter',serif;
  font-size:.85rem;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--amber-bright);
  margin-top:.15rem;
}

/* nav */
.main-nav{margin-top:.75rem;position:relative}
.nav-burger{display:none;background:none;border:2px solid var(--amber);color:var(--paper);font-size:1.4rem;padding:.2rem .7rem;cursor:pointer;border-radius:4px}
.nav-list{list-style:none;display:flex;flex-wrap:wrap;gap:.25rem}
.nav-list>li{position:relative}
.nav-list a,.sub-toggle{
  display:block;
  padding:.55rem .9rem;
  color:var(--paper);
  text-decoration:none;
  font-family:'Bitter',serif;
  font-weight:700;
  font-size:.95rem;
  background:none;border:none;cursor:pointer;
}
.nav-list a:hover,.sub-toggle:hover{color:var(--amber-bright)}
.nav-list a.active{color:var(--amber-bright);border-bottom:3px solid var(--amber)}
.submenu{
  list-style:none;
  position:absolute;left:0;top:100%;
  background:var(--pine-deep);
  min-width:230px;
  border:1px solid var(--amber);
  border-top:3px solid var(--amber);
  display:none;
  z-index:60;
  box-shadow:0 10px 24px rgba(0,0,0,.35);
}
.has-sub:hover .submenu,.has-sub:focus-within .submenu,.has-sub.open .submenu{display:block}
.submenu a{padding:.6rem 1rem;font-weight:500}

/* hero */
.hero{
  background:
    radial-gradient(1200px 400px at 20% -10%,rgba(224,149,63,.22),transparent 60%),
    linear-gradient(160deg,var(--char) 0%,var(--pine-deep) 70%,var(--pine) 100%);
  color:var(--paper);
  padding:3.2rem 1.25rem 3rem;
  border-bottom:4px solid var(--rust);
}
.hero-inner{max-width:960px;margin:0 auto}
.hero h1{
  font-family:'Alfa Slab One',serif;
  font-size:clamp(1.9rem,5vw,3.2rem);
  line-height:1.12;
  text-shadow:3px 4px 0 rgba(0,0,0,.4);
}
.lead{
  margin-top:.9rem;
  font-family:'Bitter',serif;
  font-size:clamp(1.02rem,2.4vw,1.25rem);
  color:var(--paper-dim);
  max-width:52ch;
}

/* content */
main{display:block}
.content{max-width:900px;margin:0 auto;padding:2.4rem 1.25rem}
.content h2{
  font-family:'Alfa Slab One',serif;
  font-size:clamp(1.3rem,3.4vw,1.8rem);
  color:var(--pine);
  margin:2rem 0 .8rem;
  padding-left:.85rem;
  border-left:8px solid var(--amber);
}
.content h2:first-child{margin-top:0}
.content p{margin:0 0 1.05rem}
.content strong{color:var(--rust)}
.photo{margin:1.6rem 0;border:6px solid #fff;outline:1px solid var(--line);box-shadow:0 8px 20px rgba(40,30,15,.18);background:#fff}
.photo figcaption{font-size:.85rem;color:#6a5c46;padding:.5rem .6rem;font-style:italic}

.section-title{
  font-family:'Alfa Slab One',serif;
  text-align:center;
  color:var(--pine);
  font-size:clamp(1.25rem,3.2vw,1.7rem);
  margin-bottom:1.2rem;
}

/* cards */
.cta-band{margin-top:2.5rem}
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1rem;margin-top:1rem}
.card{
  display:block;text-decoration:none;color:var(--paper);
  background:linear-gradient(165deg,var(--pine),var(--pine-deep));
  border:1px solid var(--rust);
  border-top:5px solid var(--amber);
  padding:1.1rem 1rem 1.2rem;
  box-shadow:0 6px 16px rgba(30,50,41,.25);
  transition:transform .15s ease;
}
.card:hover{transform:translateY(-4px);color:var(--paper)}
.card h3{font-family:'Alfa Slab One',serif;font-size:1.15rem;margin-bottom:.35rem;color:var(--amber-bright)}
.card p{font-size:.92rem;color:var(--paper-dim)}

/* video + lodgestream */
.mercer-section{max-width:960px;margin:2.4rem auto 0;padding:0 1.25rem}
.video-frame{width:100%;max-width:900px;height:520px;border:0;display:block;margin:0 auto;background:#000;border:6px solid var(--pine-deep);box-shadow:0 10px 24px rgba(0,0,0,.3)}
.lodgestream-section{max-width:960px;margin:2.8rem auto;padding:0 1.25rem 1rem}

/* partner banners */
.partner-banners{margin:3rem 0 1rem}
.banner-grid{display:flex;flex-wrap:wrap;gap:1.2rem;justify-content:center}
.banner-grid img{width:300px;height:300px;border:5px solid var(--pine-deep);box-shadow:0 8px 18px rgba(0,0,0,.22)}
.banner-grid a{display:block;transition:transform .15s ease}
.banner-grid a:hover{transform:scale(1.03)}

/* footer */
.site-footer{
  margin-top:3rem;
  background:linear-gradient(180deg,var(--pine),var(--char));
  color:var(--paper-dim);
  border-top:6px solid var(--amber);
  padding:2.2rem 1.25rem;
}
.footer-inner{max-width:960px;margin:0 auto;text-align:center}
.footer-links{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;justify-content:center;margin-bottom:1.1rem}
.footer-links a{color:var(--paper-dim);text-decoration:none;font-family:'Bitter',serif;font-size:.92rem}
.footer-links a:hover{color:var(--amber-bright)}
.footer-copy{font-size:.88rem}
.footer-copy a{color:var(--amber-bright)}

/* cookie banner */
.cookie-banner{
  position:fixed;left:0;right:0;bottom:0;z-index:90;
  background:var(--char);
  color:var(--paper);
  display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:center;
  padding:1rem 1.25rem;
  border-top:4px solid var(--amber);
  box-shadow:0 -8px 24px rgba(0,0,0,.35);
}
.cookie-banner p{font-size:.95rem}
.cookie-banner a{color:var(--amber-bright)}
.cookie-actions{display:flex;gap:.6rem}
.btn{font-family:'Bitter',serif;font-weight:700;padding:.55rem 1.3rem;border:none;cursor:pointer;font-size:.95rem;border-radius:3px}
.btn-accept{background:var(--amber);color:#241a0d}
.btn-accept:hover{background:var(--amber-bright)}
.btn-decline{background:transparent;color:var(--paper);border:2px solid var(--paper-dim)}
.btn-decline:hover{border-color:var(--amber-bright);color:var(--amber-bright)}

/* privacy modal */
.modal{
  position:fixed;inset:0;z-index:100;
  background:rgba(20,18,14,.72);
  display:flex;align-items:center;justify-content:center;
  padding:1.25rem;
}
.modal-box{
  background:var(--paper);
  max-width:680px;width:100%;max-height:82vh;overflow-y:auto;
  padding:2rem 1.8rem;
  border-top:8px solid var(--amber);
  box-shadow:0 20px 60px rgba(0,0,0,.5);
  position:relative;
}
.modal-box h2{font-family:'Alfa Slab One',serif;color:var(--pine);margin-bottom:.8rem}
.modal-box h3{font-family:'Bitter',serif;color:var(--rust);margin:1.1rem 0 .4rem}
.modal-box p{margin-bottom:.7rem;font-size:.95rem}
.modal-close{
  position:absolute;top:.6rem;right:.8rem;
  background:none;border:none;font-size:1.9rem;line-height:1;cursor:pointer;color:var(--rust);
}
.modal-close:hover{color:var(--amber)}

/* resources guide cards (scoped) */
.intro-text{font-size:1.08rem;line-height:1.7;margin-bottom:1.5rem}
.resources-guide .rg-grid{
  display:grid;grid-template-columns:1fr;gap:20px;max-width:1400px;margin:0 auto;
}
@media (min-width:768px){
  .resources-guide .rg-grid{grid-template-columns:repeat(2,1fr)}
}
.resources-guide .rg-card{
  background:#fff;border-radius:4px;
  border:2px solid var(--pine);border-top:8px solid var(--amber);
  padding:1.8rem;
  box-shadow:6px 6px 0 var(--pine);
  display:flex;flex-direction:column;height:100%;
  transition:transform .2s ease,box-shadow .2s ease;
}
.resources-guide .rg-card:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 var(--amber)}
.resources-guide .rg-card-title{
  font-family:'Alfa Slab One',serif;font-size:1.4rem;margin:0 0 .8rem;
  color:var(--pine);border-bottom:2px solid var(--amber);padding-bottom:.5rem;letter-spacing:.5px;
}
.resources-guide .rg-highlight{
  font-size:1.05rem;font-weight:600;color:var(--rust);text-decoration:none;
  margin-bottom:1.2rem;display:inline-block;overflow-wrap:break-word;
  border-left:4px solid var(--amber);padding-left:10px;
}
.resources-guide .rg-highlight:hover{color:var(--amber);text-decoration:underline}
.resources-guide .rg-desc{
  font-size:.97rem;line-height:1.7;color:var(--ink);margin-bottom:2rem;flex-grow:1;
}
.resources-guide .rg-btn{
  display:block;width:100%;padding:.9rem;background:var(--pine);color:var(--paper);
  text-align:center;text-decoration:none;border-radius:2px;
  font-family:'Alfa Slab One',serif;font-size:1.15rem;letter-spacing:.5px;
  margin-top:auto;border:2px solid var(--pine);transition:background .2s,color .2s;
}
.resources-guide .rg-btn:hover{background:#fff;color:var(--pine)}

/* responsive */
@media (max-width:820px){
  .nav-burger{display:block}
  .nav-list{display:none;flex-direction:column;background:var(--pine-deep);border:1px solid var(--rust);margin-top:.5rem}
  .nav-list.open{display:flex}
  .submenu{position:static;display:none;border:none;border-left:4px solid var(--amber);min-width:0;box-shadow:none}
  .has-sub.open .submenu{display:block}
  .has-sub:hover .submenu{display:none}
  .has-sub.open:hover .submenu{display:block}
  .video-frame{height:420px}
}
@media (max-width:480px){
  .video-frame{height:320px}
}
