:root{
  --bg1:#0aa6b8;
  --bg2:#0a5da8;
  --bg3:#12c7a5;
  --ink:#06212a;
  --paper:rgba(255,255,255,.92);
  --glass:rgba(255,255,255,.14);
  --stroke:rgba(255,255,255,.24);
  --shadow:0 18px 60px rgba(0,0,0,.25);
  --radius:26px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, "Noto Sans", "Liberation Sans", sans-serif;
  color:var(--ink);
  background: radial-gradient(1200px 700px at 15% 10%, rgba(255,255,255,.28), transparent 55%),
              radial-gradient(900px 700px at 85% 25%, rgba(255,255,255,.18), transparent 55%),
              linear-gradient(155deg, var(--bg2) 0%, var(--bg1) 44%, var(--bg3) 100%);
  overflow-x:hidden;
}

a{color:inherit}
.container{
  width:min(1080px, calc(100% - 34px));
  margin:0 auto;
}

.topbar{
  position:sticky;
  top:0;
  z-index:50;
  padding:14px 0 10px;
  backdrop-filter: blur(12px);
}

.brand{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  padding:10px 12px;
  box-shadow: 0 10px 35px rgba(0,0,0,.18);
}

.brand-left{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}

.avatar{
  width:48px;
  height:48px;
  border-radius:16px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.35);
  flex:0 0 auto;
  background:rgba(255,255,255,.1);
}

.avatar img{width:100%;height:100%;object-fit:cover}

.brand-title{
  line-height:1.05;
  min-width:0;
}

.brand-title .h1{
  font-weight:850;
  letter-spacing:.2px;
  font-size:18px;
  margin:0;
  color:rgba(0,0,0,.72);
  text-shadow: 0 1px 0 rgba(255,255,255,.25);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.brand-title .sub{
  margin:2px 0 0;
  font-family: ui-serif, "Georgia", "Times New Roman", Times, serif;
  font-style: italic;
  font-weight: 700;
  font-size:18px;
  color:rgba(0,0,0,.62);
}

.pill-btn{
  appearance:none;
  border:0;
  background:rgba(255,255,255,.75);
  color:#0b2b37;
  padding:10px 14px;
  border-radius:999px;
  font-weight:800;
  letter-spacing:.2px;
  box-shadow: 0 10px 28px rgba(0,0,0,.16);
  cursor:pointer;
  flex:0 0 auto;
}

.hero{
  padding:16px 0 8px;
}

.card{
  border-radius:var(--radius);
  background: rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.22);
  box-shadow: var(--shadow);
  overflow:hidden;
}

.card-inner{
  padding:18px;
  backdrop-filter: blur(14px);
  background: linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.08));
}

.hero-grid{
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap:14px;
  align-items:stretch;
}

@media (max-width: 860px){
  .hero-grid{grid-template-columns:1fr}
}

.big-number{
  font-weight:950;
  letter-spacing:1.2px;
  font-size: clamp(34px, 5.4vw, 58px);
  margin:6px 0 4px;
  color: rgba(255,255,255,.96);
  text-shadow: 0 12px 28px rgba(0,0,0,.35);
}

.kicker{
  margin:0 0 10px;
  font-size: clamp(14px, 2vw, 18px);
  color: rgba(255,255,255,.82);
}

.actions{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:12px;
  margin-top:12px;
  max-width: 460px;
}

.action{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:12px 12px;
  border-radius:18px;
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.26);
  color: rgba(255,255,255,.95);
  text-decoration:none;
  font-weight:850;
  text-transform: none;
  letter-spacing:.2px;
  box-shadow: 0 14px 40px rgba(0,0,0,.22);
}

.action:active{transform: translateY(1px)}
.action svg{width:18px;height:18px;flex:0 0 auto}

.note{
  margin:10px 0 0;
  font-size:13px;
  color:rgba(255,255,255,.78);
  max-width:460px;
}

.hero-photo{
  position:relative;
  min-height:260px;
  border-radius:var(--radius);
  overflow:hidden;
  border:1px solid rgba(255,255,255,.22);
  box-shadow: 0 16px 55px rgba(0,0,0,.22);
  background:
    radial-gradient(900px 360px at 20% 10%, rgba(255,255,255,.22), transparent 55%),
    linear-gradient(180deg, rgba(0,0,0,.22), rgba(0,0,0,.18)),
    url("../img/photo-05.jpeg") center/cover no-repeat;
}

.hero-photo::after{
  content:"";
  position:absolute;
  inset:0;
  background: radial-gradient(600px 420px at 65% 30%, rgba(18,199,165,.22), transparent 56%);
}

.badge{
  position:absolute;
  left:14px;
  bottom:14px;
  right:14px;
  padding:12px 14px;
  border-radius:20px;
  background: rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.24);
  color: rgba(255,255,255,.92);
  backdrop-filter: blur(10px);
  box-shadow: 0 18px 55px rgba(0,0,0,.20);
}

.badge strong{
  display:block;
  font-size:16px;
  letter-spacing:.2px;
}

.badge span{
  display:block;
  font-size:13px;
  opacity:.92;
  margin-top:4px;
}

.section{
  padding:12px 0 18px;
}

.section-title{
  margin:0 0 10px;
  font-size: clamp(20px, 3.2vw, 30px);
  font-weight:950;
  color: rgba(255,255,255,.96);
  text-shadow: 0 10px 24px rgba(0,0,0,.25);
}

.sheet{
  background: var(--paper);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding:18px;
}

.sheet h3{
  margin:0 0 8px;
  font-size:18px;
  font-weight:900;
  color:#082a34;
  white-space:normal;
}

.nowrap{white-space:nowrap}

.sheet p{
  margin:0;
  line-height:1.62;
  font-size: 16px;
  color:#0b2b37;
}

.sheet p + p{margin-top:10px}

.split{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:14px;
}

@media (max-width: 860px){
  .split{grid-template-columns:1fr}
}

.icon-list{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  margin-top:10px;
}

.icon-item{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:12px 12px;
  background: rgba(10,93,168,.06);
  border: 1px solid rgba(10,93,168,.12);
  border-radius: 18px;
}

.icon{
  width:40px;height:40px;
  border-radius:14px;
  display:grid;place-items:center;
  background: rgba(18,199,165,.12);
  border: 1px solid rgba(18,199,165,.18);
  flex:0 0 auto;
}

.icon svg{width:20px;height:20px}

.icon-item b{display:block;margin:0 0 2px;font-size:15px}
.icon-item span{display:block;color:rgba(11,43,55,.75);font-size:13px;line-height:1.35}

.map-wrap{
  border-radius: var(--radius);
  overflow:hidden;
  border:1px solid rgba(255,255,255,.18);
  box-shadow: var(--shadow);
}

.map{
  width:100%;
  height: 340px;
  border:0;
  display:block;
  filter: saturate(1.15) contrast(1.05);
}

.map-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:12px;
}

.small-btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border-radius:16px;
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.24);
  color: rgba(255,255,255,.94);
  text-decoration:none;
  font-weight:850;
  box-shadow: 0 14px 40px rgba(0,0,0,.18);
}

.small-btn svg{width:18px;height:18px}

.photo-band{
  height: 260px;
  border-radius: var(--radius);
  overflow:hidden;
  box-shadow: var(--shadow);
  border: 1px solid rgba(255,255,255,.22);
  background:
    radial-gradient(900px 420px at 30% 15%, rgba(255,255,255,.18), transparent 55%),
    linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.22)),
    url("../img/photo-12.png") center/cover no-repeat;
}

.footer{
  padding:16px 0 30px;
  color: rgba(255,255,255,.86);
  font-size:12px;
}

.footer-row{
  display:flex;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  opacity:.9;
}

.deco-layer{position:fixed;inset:0;pointer-events:none;z-index:0;}
.topbar,main,footer{position:relative;z-index:1;}
.deco{position:absolute;opacity:.18;filter:drop-shadow(0 12px 24px rgba(0,0,0,.18));mix-blend-mode:soft-light;}
.deco.fish{width:120px;height:80px;background:url("data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 120 80%22><path d=%22M12 40c14-18 38-28 62-24 14 2 24 8 34 16-10 8-20 14-34 16-24 4-48-6-62-24z%22 fill=%22none%22 stroke=%22white%22 stroke-width=%224%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/><path d=%22M96 32l18-10-6 18 6 18-18-10%22 fill=%22none%22 stroke=%22white%22 stroke-width=%224%22 stroke-linejoin=%22round%22/><circle cx=%2240%22 cy=%2236%22 r=%223%22 fill=%22white%22/></svg>") center/contain no-repeat;}
.deco.shell{width:120px;height:120px;background:url("data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 120 120%22><path d=%22M60 18c-22 10-36 34-36 58 0 16 16 26 36 26s36-10 36-26c0-24-14-48-36-58z%22 fill=%22none%22 stroke=%22white%22 stroke-width=%224%22 stroke-linejoin=%22round%22/><path d=%22M60 22v78%22 fill=%22none%22 stroke=%22white%22 stroke-width=%223%22 stroke-linecap=%22round%22/><path d=%22M44 26c2 22 2 54 0 74%22 fill=%22none%22 stroke=%22white%22 stroke-width=%223%22 stroke-linecap=%22round%22/><path d=%22M76 26c-2 22-2 54 0 74%22 fill=%22none%22 stroke=%22white%22 stroke-width=%223%22 stroke-linecap=%22round%22/></svg>") center/contain no-repeat;}
.deco.star{width:110px;height:110px;background:url("data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 120 120%22><path d=%22M60 16l14 30 32 4-24 22 7 32-29-16-29 16 7-32-24-22 32-4z%22 fill=%22none%22 stroke=%22white%22 stroke-width=%224%22 stroke-linejoin=%22round%22/><path d=%22M60 34v56%22 fill=%22none%22 stroke=%22white%22 stroke-width=%223%22 stroke-linecap=%22round%22 opacity=%22.9%22/></svg>") center/contain no-repeat;}
.deco.bubble{width:110px;height:110px;background:url("data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 120 120%22><circle cx=%2260%22 cy=%2260%22 r=%2238%22 fill=%22none%22 stroke=%22white%22 stroke-width=%224%22/><circle cx=%2244%22 cy=%2246%22 r=%2210%22 fill=%22none%22 stroke=%22white%22 stroke-width=%223%22 opacity=%22.9%22/></svg>") center/contain no-repeat;opacity:.12;}
.d1{top:120px;left:18px;transform:rotate(-12deg);}
.d2{top:260px;right:26px;transform:rotate(14deg);}
.d3{top:680px;left:40px;transform:rotate(8deg);}
.d4{top:980px;right:60px;transform:rotate(-10deg) scale(.95);}
.d5{top:1420px;left:16px;transform:rotate(6deg) scale(1.15);}
.d6{top:1750px;right:18px;transform:rotate(-8deg) scale(.9);}
.d7{top:2150px;left:54px;transform:rotate(18deg) scale(.95);}
.d8{top:2600px;right:34px;transform:rotate(-6deg) scale(1.1);}
.d9{top:3120px;left:22px;transform:rotate(-14deg) scale(1.05);}
.d10{top:3500px;right:22px;transform:rotate(10deg) scale(.95);}
@media (max-width: 860px){
  .deco{opacity:.14;}
  .d2{top:340px;}
  .d4{top:1220px;}
  .d6{top:1920px;}
  .d8{top:2850px;}
  .d10{top:3800px;}
}
