
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600&display=swap');

:root{--forest:#163f73;--deep:#0b294d;--cream:#f4f0e7;--paper:#fbfaf7;--white:#fff;--muted:#667789;--gold:#b47b46;--line:#dfe5eb;--max:1180px;--radius:20px;--shadow:0 18px 50px rgba(11,41,77,.10)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--forest);font:16px/1.65 "DM Sans",Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}
button,input,select,textarea{font:inherit}
.container{width:min(var(--max),calc(100% - 48px));margin:auto}

/* Header */
/* Brand logo */
.brand{display:flex;align-items:center;padding:6px 0;border-radius:12px}
.brand img{display:block;width:150px;height:auto;max-height:64px;object-fit:contain}
.footer-brand{display:inline-flex;padding:8px 0}.footer-brand img{display:block;width:170px;height:auto}

.site-header{position:absolute;inset:0 0 auto;z-index:20;color:#fff}
.nav{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.brand{font:600 1.48rem/1 "Playfair Display",Georgia,serif;letter-spacing:-.02em}
.brand small{display:block;margin-top:7px;font:600 .57rem/1 "DM Sans",sans-serif;letter-spacing:.25em;text-transform:uppercase;opacity:.72}
.nav-links{display:flex;align-items:center;gap:25px;font-size:.82rem;font-weight:600}
.nav-links a{opacity:.9;transition:opacity .2s}
.nav-links a:hover{opacity:1}
.nav-cta{padding:10px 18px;border:1px solid rgba(255,255,255,.58);border-radius:999px}
.menu-btn{display:none;border:0;background:none;color:#fff;font-size:1.55rem;cursor:pointer}

/* Hero */
.hero{min-height:710px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:linear-gradient(180deg,rgba(7,28,55,.56),rgba(7,28,55,.18) 48%,rgba(7,28,55,.72)),url("../images/bay-lake-inn-front-view.jpg") center/cover no-repeat}
.hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:115px;background:linear-gradient(transparent,var(--paper))}
.hero-content{position:relative;z-index:2;width:min(850px,100%);padding-top:65px;text-align:center;color:#fff}
.kicker,.section-kicker{margin-bottom:18px;font-size:.69rem;font-weight:700;line-height:1.2;letter-spacing:.24em;text-transform:uppercase}
.section-kicker{color:var(--gold)}
.hero h1{margin:0;font:500 clamp(4rem,8vw,7rem)/.93 "Playfair Display",Georgia,serif;letter-spacing:-.055em}
.hero p{max-width:650px;margin:26px auto 32px;color:rgba(255,255,255,.9);font-size:clamp(1rem,1.6vw,1.16rem)}
.page-hero{min-height:530px}
.page-hero h1{font-size:clamp(3.3rem,6.5vw,5.5rem)}

/* Type + buttons */
h2{margin:0;font:500 clamp(2.35rem,4.7vw,3.7rem)/1.05 "Playfair Display",Georgia,serif;letter-spacing:-.04em}
h3{margin:0}
.copy p,.section-heading p{color:var(--muted)}
.copy p{margin:0 0 18px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 24px;border:1px solid transparent;border-radius:999px;font-size:.82rem;font-weight:700;transition:transform .2s,box-shadow .2s}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(11,41,77,.14)}
.btn-light{background:#fff;color:var(--forest)}
.btn-dark{background:var(--forest);color:#fff}
.btn-outline{border-color:var(--forest);color:var(--forest)}

/* Layout */
.section{padding:100px 0}
.section-white{background:#fff}
.intro{padding:92px 0 60px;text-align:center}
.intro-inner{max-width:760px;margin:auto}
.intro p{margin:20px auto 0;color:var(--muted);font-size:1.02rem}
.highlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding-bottom:100px}
.highlight{min-height:185px;padding:30px;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}
.highlight-number{margin-bottom:27px;color:var(--gold);font:500 1.05rem/1 "Playfair Display",Georgia,serif}
.highlight h3{margin-bottom:7px;font:500 1.35rem/1.2 "Playfair Display",Georgia,serif}
.highlight p{margin:0;color:var(--muted);font-size:.9rem}
.section-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,430px);gap:50px;align-items:end;margin-bottom:44px}

/* Split / cards */
.split,.welcome-grid,.crew-grid,.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:68px;align-items:center}
.photo{min-height:500px;border-radius:28px;background:center/cover no-repeat;box-shadow:var(--shadow)}
.room-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.room-card{overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:24px}
.card-img{aspect-ratio:16/9;background:center/cover no-repeat}
.room-body{padding:30px}
.room-body h2{font-size:1.7rem}
.meta{margin:8px 0 12px;color:#966237;font-size:.76rem;font-weight:700}
.amenities{display:flex;flex-wrap:wrap;gap:7px;margin:18px 0 22px}
.amenities span{padding:6px 10px;border-radius:999px;background:var(--cream);font-size:.72rem;font-weight:600}
.attractions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.attraction{padding:27px;background:#fff;border:1px solid var(--line);border-radius:18px}
.attraction h3{font:500 1.32rem/1.25 "Playfair Display",Georgia,serif}
.attraction p{margin:8px 0 0;color:var(--muted);font-size:.9rem}

/* Explore */
.explore-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.explore-card{position:relative;min-height:330px;padding:24px;display:flex;align-items:flex-end;overflow:hidden;border-radius:20px;color:#fff;background:center/cover no-repeat}
.explore-card:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 25%,rgba(3,20,45,.78))}
.explore-card h3{position:relative;z-index:1;font:500 1.3rem/1.2 "Playfair Display",Georgia,serif}

/* Lists / crew / form */
.feature-list{display:grid;margin:25px 0}
.feature-list>div{padding:16px 0;border-bottom:1px solid var(--line)}
.feature-list strong{display:block;font-size:.94rem}
.feature-list span{display:block;color:var(--muted);font-size:.88rem}
.crew-box{padding:44px;background:var(--cream);border-radius:28px}
.crew-box h2{font-size:2.6rem}
.crew-box p{color:var(--muted)}
.contact-card{padding:34px;background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 12px 35px rgba(11,41,77,.05)}
.contact-card h3{font:500 1.55rem "Playfair Display",Georgia,serif;margin-bottom:18px}
.form{display:grid;gap:14px}
.form input,.form textarea,.form select{width:100%;padding:14px 15px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--forest);outline:none}
.form textarea{min-height:150px;resize:vertical}
.form input:focus,.form textarea:focus,.form select:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(180,123,70,.1)}

/* CTA / footer */
.cta{padding:105px 0;background:var(--deep);color:#fff;text-align:center}
.cta-inner{width:min(800px,100%);margin:auto}
.cta h2{color:#fff}
.cta p{max-width:620px;margin:22px auto 30px;color:rgba(255,255,255,.7)}
footer{background:#081f3a;color:#fff;padding:55px 0 27px}
.footer-grid{display:grid;grid-template-columns:1.45fr 1fr 1fr;gap:55px;padding-bottom:45px}
.footer-brand{font:500 1.75rem "Playfair Display",Georgia,serif}
.footer-grid h3{margin-bottom:12px;font:500 1.18rem "Playfair Display",Georgia,serif}
.footer-grid p,.footer-grid a{margin:4px 0;color:rgba(255,255,255,.6);font-size:.86rem}
.footer-grid a:hover{color:#fff}
.copyright{padding-top:20px;border-top:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.38);font-size:.75rem}

/* Responsive */
@media(max-width:980px){
 .container{width:min(var(--max),calc(100% - 40px))}
 .nav-links{gap:17px}
 .highlights{grid-template-columns:repeat(2,1fr)}
 .explore-grid{grid-template-columns:repeat(2,1fr)}
 .split,.welcome-grid,.crew-grid,.contact-grid{grid-template-columns:1fr;gap:45px}
 .photo{min-height:420px}
}
@media(max-width:760px){
 .nav{min-height:76px}
 .menu-btn{display:block}
 .nav-links{display:none;position:absolute;top:68px;left:20px;right:20px;padding:18px;flex-direction:column;align-items:stretch;gap:2px;background:rgba(10,39,74,.98);border-radius:18px;box-shadow:0 18px 40px rgba(0,0,0,.2)}
 .nav-links.open{display:flex}.nav-links a{padding:11px 9px}.nav-cta{text-align:center;margin-top:5px}
 .hero{min-height:620px}.page-hero{min-height:480px}
 .section{padding:76px 0}.intro{padding:72px 0 48px}
 .section-heading{display:block;margin-bottom:32px}.section-heading p{margin-top:15px}
 .room-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr;gap:32px}
}
@media(max-width:520px){
 body{font-size:15px}.container{width:calc(100% - 28px)}
 .hero h1{font-size:clamp(3.3rem,17vw,4.8rem)}.page-hero h1{font-size:clamp(3rem,14vw,4.4rem)}
 .hero p{font-size:.98rem}
 .highlights,.attractions,.explore-grid,.footer-grid{grid-template-columns:1fr}
 .highlight{min-height:0;padding:26px}.photo{min-height:330px;border-radius:22px}
 .room-body{padding:24px}.crew-box,.contact-card{padding:27px}.crew-box h2{font-size:2.25rem}
 .cta{padding:78px 0}
}


/* V6: Homepage welcome image only — uploaded lake photo */
.welcome-grid .photo{
  background-image:url("../images/bay-lake-lake-view.png") !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
  width:100%;
  min-width:0;
  overflow:hidden;
}

@media (max-width:980px){
  .welcome-grid .photo{
    min-height:420px;
  }
}

@media (max-width:520px){
  .welcome-grid .photo{
    min-height:340px;
    background-position:center center !important;
  }
}

/* FINAL NAV + FOOTER POLISH */
.site-header{
  position:sticky;
  top:0;
  inset:auto 0 auto;
  z-index:1000;
  background:rgba(255,255,255,.94);
  color:var(--forest);
  border-bottom:1px solid rgba(22,63,115,.10);
  box-shadow:0 5px 22px rgba(11,41,77,.08);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.nav{min-height:88px;position:relative}
.brand{padding:4px 0}
.brand img{width:178px;height:auto;max-height:none}
.nav-links{color:var(--forest)}
.nav-links a{opacity:.88;color:var(--forest)}
.nav-links a:hover{opacity:1;color:var(--deep)}
.nav-cta{
  border:1px solid var(--forest);
  background:var(--forest);
  color:#fff !important;
  opacity:1 !important;
  box-shadow:0 7px 18px rgba(22,63,115,.15);
}
.nav-cta:hover{background:var(--deep);color:#fff !important}
.menu-btn{color:var(--forest)}

/* Keep the hero clean now that the navigation has its own white bar. */
.hero{margin-top:0}

/* White footer to match the new blue-and-white brand system. */
footer{
  background:#fff;
  color:var(--forest);
  border-top:1px solid var(--line);
  padding:58px 0 28px;
}
.footer-brand{padding:0}
.footer-brand img{width:190px;height:auto}
.footer-grid h3{color:var(--forest)}
.footer-grid p,.footer-grid a{color:var(--muted)}
.footer-grid a:hover{color:var(--forest)}
.copyright{
  border-top:1px solid var(--line);
  color:var(--muted);
}

@media(max-width:760px){
  .nav{min-height:78px}
  .brand img{width:155px}
  .nav-links{
    top:calc(100% + 10px);
    left:0;
    right:0;
    padding:14px;
    background:rgba(255,255,255,.96);
    color:var(--forest);
    border:1px solid var(--line);
    border-radius:16px;
    box-shadow:0 18px 40px rgba(11,41,77,.14);
  }
  .nav-links a{color:var(--forest)}
  .nav-cta{color:#fff !important}
}

/* FINAL: guaranteed fixed/sticky navigation */
.site-header{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  width:100% !important;
  z-index:9999 !important;
}
body{padding-top:88px}
@media(max-width:760px){body{padding-top:78px}}
