
:root{
  --bg:#F8F3EA;
  --paper:#FFFCF7;
  --paper2:#FBF6EE;
  --ink:#3B271B;
  --brown:#4A3020;
  --muted:#7A7168;
  --olive:#69783D;
  --olive-dark:#546431;
  --sage:#E0E5D1;
  --sand:#E8DAC7;
  --bronze:#B79369;
  --terra:#B35F42;
  --graphite:#2D2E2B;
  --line:rgba(74,48,32,.12);
  --shadow:0 12px 34px rgba(67,45,30,.07);
  --soft-shadow:0 5px 18px rgba(67,45,30,.045);
}
*{box-sizing:border-box}
html{background:var(--bg);scroll-behavior:smooth}
body{
  margin:0;
  min-height:100vh;
  color:var(--graphite);
  background:
    radial-gradient(540px 240px at -10% 0%,rgba(183,147,105,.09),transparent 70%),
    var(--bg);
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}
button,input,textarea{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button{color:inherit;cursor:pointer}
a{text-decoration:none;color:inherit}
.app{
  width:min(100%,590px);
  margin:0 auto;
  padding:calc(12px + env(safe-area-inset-top)) 14px calc(26px + env(safe-area-inset-bottom));
}
h1,h2,h3,.serif{
  font-family:"Iowan Old Style","Palatino Linotype","Book Antiqua",Georgia,serif;
}

/* HERO */
.hero{
  position:relative;
  min-height:470px;
  border-radius:30px;
  overflow:hidden;
  background:#281c15;
  box-shadow:0 18px 46px rgba(46,30,20,.15);
}
.hero>img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
}
.hero:after{
  content:"";
  position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(22,14,10,.78) 0%,rgba(22,14,10,.48) 43%,rgba(22,14,10,.10) 75%),
    linear-gradient(to top,rgba(22,14,10,.62),rgba(22,14,10,0) 58%);
}
.brand-chip{
  position:absolute;z-index:2;left:18px;top:18px;
  width:66px;height:66px;border-radius:50%;
  background:rgba(255,252,247,.95);
  border:1px solid rgba(255,255,255,.58);
  display:grid;place-items:center;
  box-shadow:0 7px 22px rgba(0,0,0,.13);
  backdrop-filter:blur(8px);
}
.brand-chip img{width:56px;height:56px;object-fit:contain}
.phone-pill{
  position:absolute;z-index:2;right:16px;top:20px;
  min-height:46px;
  display:flex;align-items:center;gap:9px;
  padding:0 15px;
  border-radius:999px;
  background:rgba(57,38,27,.78);
  border:1px solid rgba(255,255,255,.20);
  color:#fff;
  box-shadow:0 6px 18px rgba(0,0,0,.12);
  backdrop-filter:blur(10px);
  font-size:13px;font-weight:800;
}
.phone-pill svg{width:18px;height:18px}
.hero-copy{
  position:absolute;z-index:2;
  left:22px;right:22px;bottom:33px;color:#fff;
}
.hero-copy h1{
  margin:0;
  font-size:58px;
  line-height:.87;
  letter-spacing:-.045em;
  font-weight:500;
}
.hero-copy .line{
  width:52px;height:2px;background:var(--bronze);
  margin:23px 0 16px;border-radius:99px;
}
.hero-copy .tag{
  margin:0;
  max-width:315px;
  color:#EBC999;
  font-size:16px;
  line-height:1.38;
  letter-spacing:.075em;
  text-transform:uppercase;
  font-weight:800;
}
.hero-copy .meta{
  margin:21px 0 0;
  color:rgba(255,255,255,.91);
  font-size:12.5px;
}

/* INFO STRIP */
.stay-strip{
  position:relative;z-index:3;
  margin:-18px 18px 15px;
  min-height:83px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  align-items:center;
  background:rgba(255,252,247,.97);
  border:1px solid rgba(74,48,32,.10);
  border-radius:25px;
  box-shadow:0 14px 28px rgba(66,43,27,.10);
  backdrop-filter:blur(12px);
}
.stay{
  min-width:0;padding:12px 8px;
  display:grid;grid-template-columns:30px 1fr;
  gap:8px;align-items:center;
}
.stay:not(:last-child){border-right:1px solid var(--line)}
.stay svg{width:27px;height:27px;color:var(--bronze)}
.stay small{display:block;color:var(--muted);font-size:10px}
.stay strong{display:block;color:var(--ink);font-size:17px;margin-top:1px}

/* PRIMARY QUICK ACTIONS */
.quick-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:8px;margin-bottom:12px;
}
.quick-card{
  min-height:182px;
  border:1px solid var(--line);
  background:rgba(255,252,247,.97);
  border-radius:22px;
  padding:16px 8px 13px;
  text-align:center;
  box-shadow:var(--soft-shadow);
  display:flex;flex-direction:column;align-items:center;
}
.quick-card:active,.tile:active,.btn:active,.doc-mini:active,.about-block:active{transform:scale(.988)}
.quick-icon{
  width:58px;height:58px;border-radius:50%;
  display:grid;place-items:center;
  background:var(--sage);color:var(--olive);
  margin-bottom:16px;
}
.quick-icon.warm{background:#F2E8DA;color:var(--brown)}
.quick-icon svg{width:30px;height:30px}
.quick-card strong{
  display:block;color:var(--ink);
  font-family:"Iowan Old Style","Palatino Linotype",Georgia,serif;
  font-size:17px;line-height:1.1;font-weight:600;
}
.quick-card small{
  display:block;color:var(--olive);
  font-size:10px;margin-top:9px;font-weight:750;line-height:1.3;
}
.quick-card .max{
  margin-top:10px;
  padding:4px 10px;border-radius:999px;
  border:1px solid rgba(105,120,61,.38);
  color:var(--olive);font-size:9px;font-weight:850;letter-spacing:.08em;
}
.quick-card .arr{
  margin-top:auto;color:var(--olive);font-size:28px;line-height:1;
}

/* Important */
.info-panel{
  margin-top:8px;
  padding:17px 12px 13px;
  border:1px solid var(--line);
  background:rgba(255,252,247,.92);
  border-radius:22px;
  box-shadow:var(--soft-shadow);
}
.section-title{
  margin:0 4px 12px;
  color:var(--ink);
  font-size:26px;
  line-height:1;
  font-weight:500;
}
.info-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:8px;
}
.tile{
  min-height:139px;
  padding:13px 7px 10px;
  border:1px solid var(--line);
  background:var(--paper);
  border-radius:18px;
  text-align:center;
}
.tile-icon{
  width:46px;height:46px;border-radius:50%;
  display:grid;place-items:center;margin:0 auto 10px;
  background:var(--sage);color:var(--olive);
}
.tile-icon.danger{background:#F5E4DE;color:var(--terra)}
.tile-icon.fire{background:#F7E8DF;color:#BE6040}
.tile-icon svg{width:25px;height:25px}
.tile strong{
  display:block;color:var(--ink);
  font-family:"Iowan Old Style","Palatino Linotype",Georgia,serif;
  font-size:15px;line-height:1.12;font-weight:600;
}
.tile small{
  display:block;margin-top:7px;color:var(--muted);
  font-size:9.5px;line-height:1.32;
}

/* Dark about */
.about-block{
  margin-top:11px;
  padding:16px;
  border-radius:22px;
  background:
    radial-gradient(250px 120px at 92% 12%,rgba(105,120,61,.20),transparent 65%),
    linear-gradient(135deg,#261B14,#3A2B20 58%,#252019);
  color:#fff;
  box-shadow:0 14px 30px rgba(47,32,22,.12);
}
.about-top{
  display:grid;grid-template-columns:1fr auto;gap:12px;align-items:start;
}
.about-top h2{margin:0;font-size:25px;font-weight:500}
.about-top p{
  margin:6px 0 0;max-width:310px;
  color:rgba(255,255,255,.78);font-size:11px;line-height:1.45;
}
.gallery-btn{
  min-height:43px;
  padding:0 14px;border-radius:999px;border:0;
  background:linear-gradient(135deg,var(--olive),var(--olive-dark));
  color:white;font-weight:780;font-size:11px;
}
.night-gallery{
  display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:13px;
}
.night-gallery img{
  width:100%;height:103px;object-fit:cover;
  border-radius:12px;border:1px solid rgba(255,255,255,.12);
}

/* Feedback */
.feedback{
  margin-top:11px;padding:17px;
  border:1px solid var(--line);
  background:rgba(255,252,247,.96);
  border-radius:22px;box-shadow:var(--soft-shadow);
  text-align:center;
}
.feedback h2{
  margin:0;color:var(--ink);font-size:25px;font-weight:500;line-height:1.06;
}
.feedback p{margin:6px 0 13px;color:var(--muted);font-size:11px}
.feedback-row{display:grid;grid-template-columns:1fr 1fr;gap:9px}

/* Documents */
.docs-panel{
  margin-top:11px;padding:14px;
  border:1px solid var(--line);
  border-radius:22px;background:rgba(255,252,247,.92);
}
.docs-head{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  margin-bottom:10px;
}
.docs-head h2{margin:0;color:var(--ink);font-size:23px;font-weight:500}
.docs-head button{
  border:1px solid var(--line);background:#F6EFE5;color:var(--brown-soft);
  min-height:34px;border-radius:999px;padding:0 11px;font-size:10px;
}
.docs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.doc-mini{
  min-height:92px;border:1px solid var(--line);background:var(--paper);
  border-radius:15px;padding:10px;text-align:left;
  display:grid;grid-template-columns:33px 1fr;gap:8px;align-items:center;
}
.doc-mini .ico{
  width:33px;height:33px;border-radius:10px;
  display:grid;place-items:center;background:var(--sage);color:var(--olive);
}
.doc-mini .ico svg{width:19px;height:19px}
.doc-mini strong{
  display:block;color:var(--ink);
  font-family:"Iowan Old Style","Palatino Linotype",Georgia,serif;
  font-size:12px;line-height:1.15;font-weight:600;
}
.doc-mini small{display:block;margin-top:5px;color:var(--olive);font-size:8.5px}

/* Buttons + subpages */
.btn{
  min-height:49px;border-radius:14px;border:1px solid transparent;
  display:flex;align-items:center;justify-content:center;gap:8px;
  padding:9px 13px;font-weight:780;font-size:12px;
}
.btn svg{width:19px;height:19px}
.btn.primary{background:linear-gradient(135deg,var(--olive),var(--olive-dark));color:#fff}
.btn.outline{background:var(--paper);border-color:#CDB79E;color:var(--ink)}
.btn.soft{background:#EEF1E4;border-color:#DCE3CB;color:var(--olive-dark)}
.page-head{
  display:grid;grid-template-columns:44px 1fr 44px;align-items:center;margin-bottom:8px;
}
.back{
  width:42px;height:42px;border-radius:14px;border:1px solid var(--line);
  background:var(--paper);display:grid;place-items:center;color:var(--ink);font-size:28px;
}
.page-logo{display:flex;align-items:center;justify-content:center;gap:7px}
.page-logo img{width:47px;height:47px;object-fit:contain}
.page-logo span{
  font-family:"Iowan Old Style","Palatino Linotype",Georgia,serif;
  color:var(--ink);font-size:17px;font-weight:600;
}
.page-title{
  margin:10px 0 4px;text-align:center;color:var(--ink);
  font-size:31px;line-height:1.03;font-weight:500;
}
.page-sub{text-align:center;color:var(--olive);font-size:11px;font-weight:760;margin:0 0 16px}
.symbol-panel{
  min-height:145px;border:1px solid var(--line);
  background:linear-gradient(135deg,var(--paper),#F5EFE7);
  border-radius:23px;display:grid;place-items:center;margin-bottom:10px;
}
.symbol{
  width:82px;height:82px;border-radius:50%;display:grid;place-items:center;
  background:var(--sage);color:var(--olive);
}
.symbol.danger{background:#F5E5E0;color:#B6503F}
.symbol.fire{background:#F7E9E0;color:#BD623E}
.symbol svg{width:44px;height:44px}
.rules{display:grid;gap:8px}
.rule{
  border:1px solid var(--line);background:var(--paper);
  border-radius:16px;padding:10px 11px;
  display:grid;grid-template-columns:40px 1fr;gap:10px;align-items:center;
}
.rule-icon{
  width:39px;height:39px;border-radius:13px;display:grid;place-items:center;
  background:var(--sage);color:var(--olive)
}
.rule-icon svg{width:22px;height:22px}
.rule-text{
  color:var(--ink);
  font-family:"Iowan Old Style","Palatino Linotype",Georgia,serif;
  font-size:15px;line-height:1.33
}
.notice{
  margin-top:10px;border:1px solid #D9C9B6;background:#F7F0E7;
  border-radius:16px;padding:12px;color:#705B4A;font-size:11px;line-height:1.48;
}
.emergency{
  margin-top:10px;border:1px solid #E7C8BE;background:#FFF8F5;
  border-radius:18px;padding:13px;text-align:center
}
.emergency small{color:var(--brown)}
.emergency strong{display:block;font-size:38px;color:#B6503F;margin:2px 0}
.page-actions{display:grid;gap:8px;margin-top:13px}
.page-actions .btn{min-height:53px}
.docs-list{display:grid;gap:8px}
.doc-row{
  width:100%;min-height:72px;border:1px solid var(--line);background:var(--paper);
  border-radius:17px;display:grid;grid-template-columns:46px 1fr auto;
  gap:11px;align-items:center;padding:11px 12px;text-align:left
}
.doc-row-icon{
  width:44px;height:44px;border-radius:14px;display:grid;place-items:center;
  background:var(--sage);color:var(--olive)
}
.doc-row-icon svg{width:24px;height:24px}
.doc-row strong{
  display:block;color:var(--ink);font-family:"Iowan Old Style","Palatino Linotype",Georgia,serif;
  font-size:16px;font-weight:600
}
.doc-row small{display:block;margin-top:4px;color:var(--muted);font-size:10px}
.badge{padding:5px 7px;border-radius:999px;background:#EEF1E4;color:var(--olive);font-size:9px;font-weight:800}
.issue-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.issue{
  min-height:59px;border:1px solid var(--line);background:var(--paper);
  border-radius:15px;padding:8px 10px;display:flex;align-items:center;gap:8px;text-align:left
}
.issue.selected{background:#EEF1E4;border-color:rgba(105,120,61,.55)}
.issue svg{width:22px;height:22px;color:var(--olive);flex:0 0 auto}
.issue span{
  color:var(--ink);font-family:"Iowan Old Style","Palatino Linotype",Georgia,serif;font-size:14px
}
.textarea{
  width:100%;min-height:106px;margin-top:9px;border:1px solid var(--line);
  background:var(--paper);border-radius:16px;padding:12px;color:var(--graphite);
  outline:none;resize:vertical;font-size:16px
}
.success{
  padding:30px 17px;border:1px solid var(--line);border-radius:23px;
  background:var(--paper);text-align:center;box-shadow:var(--shadow)
}
.success-icon{
  width:92px;height:92px;border-radius:50%;display:grid;place-items:center;
  margin:0 auto 14px;background:var(--sage);color:var(--olive)
}
.success-icon svg{width:46px;height:46px}
.success h2{margin:0;color:var(--ink);font-size:24px;font-weight:500}
.success p{margin:7px 0 0;color:var(--muted);font-size:12px;line-height:1.5}

/* About page */
.about-hero{
  border-radius:24px;overflow:hidden;background:#251B14;color:white;box-shadow:var(--shadow)
}
.about-hero img{width:100%;height:225px;object-fit:cover;display:block}
.about-copy{padding:16px}
.about-copy h2{margin:0;font-size:25px;font-weight:500}
.about-copy p{margin:8px 0 0;color:rgba(255,255,255,.76);font-size:12px;line-height:1.55}
.about-gallery{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px}
.about-gallery img{width:100%;height:140px;object-fit:cover;border-radius:17px;border:1px solid var(--line)}
.about-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:9px}
.about-stat{
  background:var(--paper);border:1px solid var(--line);border-radius:15px;padding:11px 7px;text-align:center
}
.about-stat b{display:block;color:var(--ink);font-size:11px}
.about-stat small{display:block;color:var(--muted);font-size:9px;margin-top:3px}

/* Footer */
.footer-bar{
  margin-top:11px;
  min-height:55px;border-radius:17px;
  background:linear-gradient(135deg,#2B241D,#3A3427);
  display:flex;align-items:center;justify-content:center;
  color:#DCCDB9;font-family:"Iowan Old Style","Palatino Linotype",Georgia,serif;
  font-size:13px;letter-spacing:.02em
}
.footer-bar a{color:#9CAB62;margin-left:5px}
.toast{
  position:fixed;z-index:30;left:50%;bottom:calc(20px + env(safe-area-inset-bottom));
  transform:translate(-50%,25px);width:min(calc(100% - 30px),540px);
  background:rgba(45,46,43,.96);color:white;padding:11px 13px;border-radius:13px;
  font-size:12px;opacity:0;pointer-events:none;transition:.2s ease
}
.toast.show{opacity:1;transform:translate(-50%,0)}

@media(max-width:430px){
  .hero{min-height:445px}
  .hero-copy h1{font-size:53px}
  .phone-pill{font-size:11px;min-height:43px;padding:0 12px}
  .stay{grid-template-columns:25px 1fr}
  .stay svg{width:23px;height:23px}
  .stay strong{font-size:15px}
  .stay small{font-size:9px}
  .quick-card{min-height:172px}
  .quick-card strong{font-size:15.5px}
}
@media(max-width:380px){
  .hero{min-height:420px}
  .hero-copy h1{font-size:47px}
  .hero-copy .tag{font-size:14px}
  .phone-pill span{display:none}
  .phone-pill{width:44px;padding:0;justify-content:center}
  .quick-grid,.info-grid{gap:6px}
  .quick-card{padding-left:5px;padding-right:5px}
  .quick-card strong{font-size:14px}
  .tile strong{font-size:13px}
  .tile small{display:none}
  .feedback-row{grid-template-columns:1fr}
  .docs-grid{grid-template-columns:1fr}
  .doc-mini{min-height:64px}
}
