*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Lato,Arial,sans-serif;font-size:16px;line-height:1.6;color:#212121;background:#fff}
a{color:#0004ff}
img{max-width:100%;display:block}

/* Header */
.site-header{position:fixed;top:0;left:0;width:100%;z-index:100;transition:background .3s,box-shadow .3s}
.site-header.scrolled,.site-header.solid{background:#0004ff;box-shadow:0 2px 6px rgba(0,0,0,.25)}
.header-inner{display:flex;align-items:center;gap:24px;max-width:1280px;margin:0 auto;padding:10px 24px;min-height:64px}
.brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;font-family:Arvo,serif;font-size:20px;white-space:nowrap}
.brand-logo{width:40px;height:40px;object-fit:contain}
.main-nav{margin-left:auto}
.main-nav ul{list-style:none;display:flex;flex-wrap:wrap;margin:0;padding:0}
.main-nav a{display:block;margin:0 10px;padding:14px 2px 6px;border-bottom:8px solid transparent;color:#fff;text-decoration:none;font-weight:700;font-size:15px;text-transform:uppercase;line-height:28px}
.main-nav a:hover{opacity:.6}
.main-nav a.active{border-bottom-color:#fff}
.menu-toggle{display:none;background:none;border:0;cursor:pointer;padding:8px}
.menu-toggle span{display:block;width:22px;height:2px;background:#fff;margin:5px 0}

/* Hero */
.hero{position:relative;min-height:430px;padding:176px 24px 120px;display:flex;align-items:center;justify-content:center;background:url("images/finnish-lake-landscape-hero-background.jpg") center/cover no-repeat;color:#fff;text-align:center}
.hero.small{min-height:340px;padding:150px 24px 70px}
.hero-overlay{position:absolute;inset:0;background:rgba(33,33,33,.55)}
.hero-content{position:relative;max-width:820px}
.hero-content p{font-size:17px;margin:0 12px 16px}
.hero-kicker{font-weight:700;font-size:19px!important;letter-spacing:.02em}
.hero h1{font-family:Arvo,serif;font-size:52px;line-height:1.1;margin:0 0 12px}

/* Content */
.content-section{background:#f0f0f0;padding:56px 24px}
.content{max-width:900px;margin:0 auto;background:transparent}
.article-title{font-family:Lato,Arial,sans-serif;font-size:32px;line-height:1.3;text-align:center;color:#000;margin:18px 0 6px}
.byline{text-align:center;color:#000;margin:0 0 36px}
.content h2{font-family:Arial,sans-serif;font-weight:400;font-size:32px;line-height:1.4;color:#000;margin:44px 0 8px;scroll-margin-top:90px}
.content h3{font-family:Arial,sans-serif;font-weight:400;font-size:22px;color:#000;margin:22px 0 6px}
.content p{margin:0 0 16px}
.square-list{list-style:square;padding-left:22px;margin:0 0 16px}
.square-list li{margin-bottom:10px}
.link-list a{font-weight:700}

.faq details{background:#fff;border-left:5px solid #0004ff;border-radius:4px;margin-bottom:10px;padding:14px 18px}
.faq summary{cursor:pointer;font-weight:700}
.faq details p{margin:10px 0 0}

.notice-box{background:#fff;border-radius:6px;padding:24px 28px;margin:40px 0 0;color:#1f2328}
.notice-title{font-family:Arial,sans-serif;font-weight:700;font-size:28px;margin:0 0 14px!important}

.form-grid{display:grid;gap:16px;max-width:620px}
.form-grid label{font-weight:700;display:block;margin-bottom:4px}
.form-grid input,.form-grid textarea,.form-grid select{width:100%;padding:12px;border:1px solid #bbb;border-radius:4px;font:inherit;background:#fff}

/* Buttons */
.btn-primary,.btn-outline{display:inline-block;padding:13px 26px;border-radius:999px;font:700 15px Lato,Arial,sans-serif;text-decoration:none;cursor:pointer;text-align:center}
.btn-primary{background:linear-gradient(135deg,#0004ff,#0003cc);color:#fff;border:0;box-shadow:0 10px 28px rgba(0,4,255,.35)}
.btn-outline{background:transparent;color:#0004ff;border:1px solid #0004ff}

/* Age gate */
.age-gate{position:fixed;inset:0;z-index:1000;background:rgba(10,10,30,.75);display:flex;align-items:center;justify-content:center;padding:20px}
.age-gate[hidden]{display:none}
.age-gate-card{width:100%;max-width:500px;background:linear-gradient(160deg,#f4f7ff,#fff);border:1px solid #0004ff;border-left:5px solid #0004ff;border-radius:14px;padding:34px 26px;text-align:center;color:#1a1a2e}
.age-badge{display:inline-block;background:#0004ff;color:#fff;font-weight:800;font-size:24px;padding:8px 18px;border-radius:999px;letter-spacing:.06em;margin-bottom:16px}
.age-gate-card h2{margin:0;font-size:28px}
.age-gate-card p{color:#4a4a6a;font-size:15px;margin:12px 0 22px}
.age-gate-actions{display:flex;flex-direction:column;gap:10px;align-items:center}

/* Footer */
.site-footer{background:#f0f0f0}
.footer-links{padding:40px 24px 16px;text-align:center;border-top:1px solid #ddd}
.footer-banner{max-width:600px;width:100%;margin:0 auto 20px}
.footer-links p{margin:4px 0;line-height:1.8}
.footer-primary a{color:#1f2328}
.footer-secondary,.footer-secondary a{color:#666}
.footer-copyright{text-align:center;padding:12px 24px 32px;color:#1f2328}
.footer-copyright p{margin:0}
.footer-bar{background:#3a3a3a;color:#fff;display:flex;align-items:center;justify-content:center;gap:24px;padding:28px 24px;font-size:14px}
.footer-bar a{color:#fff}
.footer-badge{width:70px;height:auto}

/* Responsive */
@media (max-width:1279px){
  .menu-toggle{display:block}
  .main-nav{position:fixed;top:0;left:0;height:100vh;width:280px;background:#0004ff;padding:80px 0 28px;transform:translateX(-100%);transition:transform .3s;overflow-y:auto}
  .main-nav.open{transform:none}
  .main-nav ul{flex-direction:column}
  .main-nav a{border-bottom:0;border-left:8px solid transparent;padding:10px 28px;margin:0}
  .main-nav a.active{border-left-color:#fff}
  .menu-toggle{position:relative;z-index:101}
}
@media (max-width:767px){
  .hero{padding:130px 18px 70px;min-height:340px}
  .hero h1{font-size:36px}
  .article-title{font-size:26px}
  .content h2{font-size:25px}
  .content h3{font-size:19px}
  .notice-title{font-size:22px}
  .brand{font-size:16px}
  .footer-bar{flex-direction:column;text-align:center}
}