:root{
  --navy:#071f3a;
  --teal:#087989;
  --sand:#d7ae72;
  --sky:#eaf6f8;
  --ink:#102132;
  --muted:#657487;
  --bg:#fbfaf7;
  --card:#ffffff;
  --line:#e8edf0;
  --shadow:0 18px 45px rgba(7,31,58,.10);
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--ink);line-height:1.6}
a{color:inherit}
.container{width:min(1120px,92vw);margin:auto}
.site-header{position:sticky;top:0;background:rgba(251,250,247,.92);backdrop-filter:blur(14px);z-index:20;border-bottom:1px solid var(--line)}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;padding:12px 0}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand img{width:260px;height:auto;object-fit:contain;border-radius:0%;box-shadow:none}
.brand strong,.brand small{display:none}
.nav{display:flex;gap:4px;align-items:center}
.nav a{padding:10px 14px;text-decoration:none;border-radius:999px;font-weight:700;font-size:.94rem;color:var(--navy)}
.nav a.active,.nav a:hover{background:var(--navy);color:white}
.menu-btn{display:none;background:var(--navy);color:#fff;border:0;border-radius:10px;padding:9px 12px;font-size:1.2rem}
.hero{padding:70px 0 44px}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:36px;align-items:center}
.kicker{font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--teal);font-size:.78rem}
h1{font-size:clamp(2.4rem,6vw,5.5rem);line-height:.95;margin:10px 0 20px;color:var(--navy);letter-spacing:-.06em}
h2{font-size:clamp(1.8rem,3vw,3rem);line-height:1.08;margin:0 0 18px;color:var(--navy);letter-spacing:-.04em}
h3{margin:0 0 8px;color:var(--navy)}
.lead{font-size:1.25rem;color:#314357;max-width:720px}
.btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.btn{display:inline-flex;padding:12px 18px;border-radius:999px;background:var(--navy);color:#fff;text-decoration:none;font-weight:800}
.btn.secondary{background:#fff;color:var(--navy);border:1px solid var(--line)}
.logo-card{background:#fff;border-radius:28px;padding:24px;box-shadow:var(--shadow)}
.logo-card img{width:100%;display:block;border-radius:18px}
.section{padding:54px 0}
.soft{background:var(--sky)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:0 10px 25px rgba(7,31,58,.04)}
.card .num{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--teal);color:#fff;font-weight:900;margin-bottom:14px}
.place-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.place-card{background:#fff;border-radius:24px;overflow:hidden;box-shadow:var(--shadow);text-decoration:none;display:block}
.place-card img{width:100%;height:210px;object-fit:cover;display:block}
.place-card div{padding:18px}
.badge{display:inline-block;background:#eef8f9;color:var(--teal);border-radius:999px;padding:5px 10px;font-weight:800;font-size:.78rem}
.page-hero{padding:54px 0 24px}
.detail{display:grid;grid-template-columns:1.2fr .8fr;gap:28px;align-items:start}
.detail img{width:100%;border-radius:28px;box-shadow:var(--shadow)}
.panel{background:#fff;border:1px solid var(--line);border-radius:24px;padding:24px}
.list{margin:0;padding-left:18px}
.blog-list{display:grid;gap:18px}
.post{background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px}
.admin-box{background:#fff;border-radius:24px;border:1px solid var(--line);padding:24px;box-shadow:var(--shadow)}
pre{white-space:pre-wrap;background:#0b1f2a;color:white;padding:18px;border-radius:16px;overflow:auto}
input,textarea{width:100%;padding:12px;border-radius:12px;border:1px solid var(--line);font:inherit}
label{font-weight:800;display:block;margin:14px 0 6px}
.site-footer{background:var(--navy);color:#fff;padding:32px 0;margin-top:40px}
.footer-grid{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}
.site-footer a{color:white}
.muted{color:#9fb3c8}
@media(max-width:850px){
  .menu-btn{display:block}
  .nav{display:none;position:absolute;top:76px;left:4vw;right:4vw;background:#fff;border:1px solid var(--line);border-radius:18px;padding:10px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}
  .menu-open .nav{display:flex}
  .hero-grid,.detail{grid-template-columns:1fr}
  .cards,.place-grid{grid-template-columns:1fr}
  .footer-grid{display:block}
}


.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px}
.gallery-grid img{width:100%;height:220px;object-fit:cover;border-radius:18px;box-shadow:0 8px 18px rgba(7,31,58,.08)}
.photo-strip{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.photo-strip img{width:80px;height:60px;object-fit:cover;border-radius:10px;border:1px solid var(--line)}
.photo-remove{display:inline-flex;align-items:center;gap:6px;margin:6px 10px 6px 0;background:#fff;border:1px solid var(--line);border-radius:12px;padding:6px 8px}
@media(max-width:850px){
  .brand img{width:150px;height:150px}
  .gallery-grid{grid-template-columns:1fr}
}
