
:root { --bg:#E9F1F9; --surface:#FFFFFF; --ink:#0F2742; --muted:#4F6580; --line:#C5D5E6; --brand:#E8553A; --focus:#E8553A;
  --ph-a:#D5E7F7; --ph-b:#A9CDEC; --ph-ink:#1B4F82; }
@media (prefers-color-scheme: dark) { :root { --bg:#0A1522; --surface:#12233A; --ink:#E6EFFA; --muted:#97AECB; --line:#26405F; --brand:#FF8467; --focus:#FF8467;
  --ph-a:#1A3556; --ph-b:#244A78; --ph-ink:#B4D4F5; } }
* { box-sizing:border-box; } html { scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } }
body { margin:0; background:var(--bg); color:var(--ink); line-height:1.55; font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans","Noto Sans Devanagari",sans-serif; }
a { color:inherit; } :focus-visible { outline:3px solid var(--focus); outline-offset:2px; border-radius:6px; }

.ph { position:relative; margin:0; overflow:hidden; width:100%;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 200' preserveAspectRatio='none'%3E%3Cpath d='M0 200 L70 90 L120 140 L200 30 L290 150 L330 100 L400 200Z' fill='%23000' fill-opacity='.10'/%3E%3Cpath d='M0 200 L110 120 L170 160 L250 80 L330 170 L370 140 L400 200Z' fill='%23000' fill-opacity='.08'/%3E%3C/svg%3E") bottom/100% 70% no-repeat,
    linear-gradient(180deg,var(--ph-a),var(--ph-b));
  border:2px dashed color-mix(in srgb,var(--ph-ink) 45%,transparent); }
.ph::after { content:attr(data-label); position:absolute; left:10px; right:10px; bottom:8px; font-size:12px; color:var(--ph-ink); text-align:center; line-height:1.3; }
.ph img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:1; }
.ph:has(img)::after { display:none; }
.ph:has(img) { border-color:transparent; }
.ph.wide { aspect-ratio:3/2; } .ph.banner { aspect-ratio:5/2; } .ph.cover { aspect-ratio:16/6; border-radius:0; border-width:0 0 2px 0; }

.ph { border-radius:0; border-width:0 0 2px 0; } .ph:has(img) { border-width:0; }
.wrap { max-width:1180px; margin:0 auto; padding:0 20px; }
header { padding:44px 0 6px; }
.brand { display:inline-block; text-decoration:none; font-weight:700; letter-spacing:.04em; color:var(--brand); margin-bottom:10px; }
h1 { font-family:"Gill Sans","Trebuchet MS",system-ui,sans-serif; font-size:clamp(34px,6vw,62px); line-height:1.05; margin:0 0 12px; font-weight:700; letter-spacing:-.01em; max-width:16ch; }
.lead { color:var(--muted); font-size:17px; max-width:56ch; margin:0 0 22px; }
.search { display:flex; align-items:center; gap:8px; background:var(--surface); border:2px solid var(--ink); border-radius:12px; padding:4px 8px 4px 16px; max-width:580px; }
.search:focus-within { border-color:var(--brand); outline:3px solid color-mix(in srgb,var(--brand) 30%,transparent); }
.search input { flex:1; min-width:0; border:0; background:transparent; color:inherit; font:inherit; font-size:17px; padding:12px 0; }
.search input:focus-visible { outline:none; }
.search output { font-size:14px; color:var(--muted); padding:0 10px; white-space:nowrap; }
.chips { display:flex; flex-wrap:wrap; gap:8px; margin:20px 0 8px; }
.chip { text-decoration:none; font-size:14px; background:var(--surface); border:1px solid var(--line); border-radius:999px; padding:5px 13px; }
.chip:hover { border-color:var(--brand); color:var(--brand); }
.heroimg { margin:22px 0 8px; } .heroimg .ph { aspect-ratio:21/8; border-radius:16px; border-width:2px; }
.board { columns:3 330px; column-gap:22px; padding:22px 0 56px; }
.ticket { break-inside:avoid; display:inline-block; width:100%; margin:0 0 22px; background:var(--surface); border:1px solid var(--line); border-radius:18px; overflow:hidden; scroll-margin-top:12px; }
.head { position:relative; padding:16px 60px 6px 18px; }
h2 { font-size:20px; line-height:1.25; margin:0 0 4px; }
.desc { margin:0 0 6px; color:var(--muted); font-size:14px; }
.count { position:absolute; right:16px; top:16px; background:var(--brand); color:#fff; font-weight:700; font-size:14px; border-radius:10px; padding:3px 11px; }
@media (prefers-color-scheme: dark) { .count { color:#2a0d05; } }
.perf { position:relative; margin:10px 0 4px; border-top:2px dashed var(--line); height:0; }
.perf::before, .perf::after { content:""; position:absolute; top:-12px; width:22px; height:22px; border-radius:50%; background:var(--bg); border:1px solid var(--line); }
.perf::before { left:-12px; } .perf::after { right:-12px; }
.ticket ul { list-style:none; margin:0; padding:2px 18px 14px; }
.ticket li { border-bottom:1px solid var(--line); } .ticket li:last-child { border-bottom:0; }
.ticket li a { display:block; padding:8px 2px; text-decoration:none; font-size:14.5px; }
.ticket li a:hover { color:var(--brand); text-decoration:underline; }
.group[hidden], .group li[hidden] { display:none; }
.empty { display:none; text-align:center; color:var(--muted); padding:30px 0; } .empty.show { display:block; }
footer { border-top:1px solid var(--line); text-align:center; color:var(--muted); font-size:14px; padding:22px 20px 40px; } footer a { margin:0 10px; }

.guide { padding-top:26px; padding-bottom:10px; scroll-margin-top:12px; }
.guide h2 { font-size:clamp(26px,4vw,38px); margin:0 0 6px; }
.glead { color:var(--muted); max-width:62ch; margin:0 0 18px; }
.ggrid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.gcard { background:var(--surface); border:1px solid var(--line); border-radius:16px; padding:16px 18px; }
.gcard h3 { font-size:18px; margin:0 0 6px; }
.gcard p { margin:0 0 8px; font-size:14.5px; }
.gl2 { display:flex; flex-wrap:wrap; gap:6px; }
.gl2 a { font-size:13.5px; text-decoration:none; color:var(--brand); border:1px solid var(--line); border-radius:999px; padding:3px 11px; }
.gl2 a:hover { border-color:var(--brand); }
.gseason { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:16px 0 8px; }
.gseason > div { background:var(--surface); border:1px solid var(--line); border-radius:16px; padding:16px 18px; }
.gseason h3 { font-size:18px; margin:0 0 8px; } .gseason p { margin:0 0 6px; font-size:14.5px; }
.gseason ul { margin:0; padding-left:18px; font-size:14.5px; } .gseason li { margin-bottom:4px; }
.months { display:flex; flex-wrap:wrap; gap:6px; }
.months span { background:var(--brand); color:#fff; font-weight:600; font-size:13.5px; border-radius:8px; padding:2px 11px; }
@media (prefers-color-scheme: dark) { .months span { color:#2a0d05; } }
.fh { font-size:20px; margin:22px 0 8px; }
.faqs { display:grid; gap:8px; max-width:860px; }
.faq { background:var(--surface); border:1px solid var(--line); border-radius:12px; padding:2px 16px; }
.faq summary { cursor:pointer; font-weight:600; padding:12px 0; }
.faq p { margin:0 0 14px; color:var(--muted); font-size:15px; }
.gcta { display:flex; flex-wrap:wrap; align-items:center; gap:14px; margin:20px 0 6px; color:var(--muted); font-size:14px; }
.btn { background:var(--brand); color:#fff; font-weight:700; text-decoration:none; border-radius:12px; padding:12px 20px; font-size:16px; }
@media (prefers-color-scheme: dark) { .btn { color:#2a0d05; } }
.btn:hover { filter:brightness(1.08); }
@media (max-width:1000px) { .ggrid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px) { .ggrid, .gseason { grid-template-columns:1fr; } }

.topbar { position:sticky; top:0; z-index:20; background:var(--surface); border-bottom:1px solid var(--line); }
.tb { display:flex; align-items:center; justify-content:space-between; gap:18px; padding-top:10px; padding-bottom:10px; }
.logo { display:flex; align-items:center; gap:9px; font-weight:800; font-size:18px; text-decoration:none; flex:none; }
.logo i { width:22px; height:22px; border-radius:50% 50% 50% 4px; background:var(--brand); display:inline-block; }
.tnav { display:flex; align-items:center; gap:4px; overflow-x:auto; scrollbar-width:none; }
.tnav::-webkit-scrollbar { display:none; }
.tnav a { flex:none; text-decoration:none; font-size:15px; padding:8px 12px; border-radius:10px; }
.tnav a:hover { background:var(--bg); color:var(--brand); }
.tnav a.tcta { background:var(--brand); color:#fff; font-weight:700; margin-left:6px; }
.tnav a.tcta:hover { filter:brightness(1.08); color:#fff; }
@media (prefers-color-scheme: dark) { .tnav a.tcta, .tnav a.tcta:hover { color:#2a0d05; } }
.hero2 { display:grid; grid-template-columns:1.1fr .9fr; gap:34px; align-items:center; padding-top:38px; padding-bottom:12px; }
.kicker { margin:0 0 10px; color:var(--brand); font-weight:700; font-size:15px; }
.hero2 h1 { max-width:none; font-size:clamp(32px,5vw,54px); }
.hero2 .lead { max-width:50ch; }
.quick { display:flex; flex-wrap:wrap; gap:10px; margin:18px 0 0; }
.qbtn { text-decoration:none; font-weight:600; font-size:15px; border:2px solid var(--ink); border-radius:12px; padding:9px 16px; background:var(--surface); }
.qbtn:hover { border-color:var(--brand); color:var(--brand); }
.qbtn.main { background:var(--brand); border-color:var(--brand); color:#fff; }
.qbtn.main:hover { filter:brightness(1.08); color:#fff; }
@media (prefers-color-scheme: dark) { .qbtn.main, .qbtn.main:hover { color:#2a0d05; } }
.himg .ph { aspect-ratio:5/4; border-radius:20px; border-width:2px; }
.ticket, .guide, .group { scroll-margin-top:78px; }
@media (max-width:860px) {
  .tb { flex-direction:column; align-items:stretch; gap:4px; padding-top:8px; padding-bottom:6px; }
  .hero2 { grid-template-columns:1fr; gap:22px; padding-top:26px; }
  .himg .ph { aspect-ratio:16/9; }
}

/* balanced board: small groups share rows, long groups run full width */
.board { columns:auto; display:grid; grid-template-columns:repeat(3,1fr); gap:22px; grid-auto-flow:dense; align-items:start; padding:22px 0 48px; }
.ticket { display:block; margin:0; }
.ticket[hidden] { display:none !important; }
.ticket.big { grid-column:1 / -1; display:grid; grid-template-columns:340px 1fr; grid-template-areas:"img list" "head list"; grid-template-rows:auto 1fr; }
.ticket.big > .ph { grid-area:img; aspect-ratio:3/2; }
.ticket.big > .head { grid-area:head; padding-bottom:16px; }
.ticket.big > .perf { display:none; }
.ticket.big > ul { grid-area:list; columns:3 210px; column-gap:26px; border-left:2px dashed var(--line); padding:14px 22px 16px; }
.ticket.big li { break-inside:avoid; }
@media (max-width:1000px) { .board { grid-template-columns:repeat(2,1fr); } }
@media (max-width:860px) {
  .ticket.big { grid-template-columns:1fr; grid-template-areas:"img" "head" "list"; }
  .ticket.big > ul { border-left:0; border-top:2px dashed var(--line); columns:2 200px; }
}
@media (max-width:640px) { .board { grid-template-columns:1fr; } .ticket.big > ul { columns:1; } }

/* footer */
.foot { background:#0F2742; color:#C9D9EC; border-top:0; text-align:left; padding:40px 0 22px; font-size:15px; }
@media (prefers-color-scheme: dark) { .foot { background:#07101B; } }
.fgrid { display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:30px; }
.foot strong { display:block; font-size:20px; color:#fff; margin-bottom:8px; }
.foot p { margin:0; max-width:34ch; }
.foot h4 { margin:0 0 10px; font-size:16px; color:#fff; }
.foot nav a { display:block; margin:0 0 8px; color:#C9D9EC; text-decoration:none; }
.foot nav a:hover { color:#FF9C84; text-decoration:underline; }
.foot .copy { max-width:1180px; margin:26px auto 0; padding:16px 20px 0; border-top:1px solid #29425F; font-size:13.5px; color:#9DB3CC; }
@media (max-width:700px) { .fgrid { grid-template-columns:1fr; gap:22px; } }

.logo i { display:none; }
.logo .mark { flex:none; display:block; }
.wm { display:flex; flex-direction:column; line-height:1.15; }
.wm b { font-size:19px; font-weight:800; letter-spacing:-.01em; }
.wm small { font-size:12px; font-weight:500; color:var(--muted); }
.flogo { display:flex !important; align-items:center; gap:10px; }
.flogo .mark { width:34px; height:34px; }
@media (max-width:860px) { .wm small { display:none; } }

.about { padding-top:34px; padding-bottom:8px; scroll-margin-top:78px; }
.about h2 { font-size:clamp(26px,4vw,38px); margin:0 0 14px; }
.agrid { display:grid; grid-template-columns:1.5fr 1fr; gap:22px; align-items:start; }
.atext p { margin:0 0 12px; max-width:68ch; font-size:16px; }
.facts { background:var(--surface); border:1px solid var(--line); border-radius:16px; padding:16px 20px; }
.facts h3 { margin:0 0 8px; font-size:18px; }
.facts dl { margin:0; }
.facts dl > div { display:flex; justify-content:space-between; gap:14px; padding:9px 0; border-top:1px solid var(--line); font-size:14.5px; }
.facts dt { color:var(--muted); }
.facts dd { margin:0; font-weight:600; text-align:right; }
.about .gseason ol { margin:0; padding-left:20px; font-size:14.5px; } .about .gseason ol li { margin-bottom:6px; }
.about .ggrid { margin-bottom:16px; }
.btn.ghost { background:transparent; color:var(--brand); border:2px solid var(--brand); padding:10px 18px; }
@media (prefers-color-scheme: dark) { .btn.ghost { color:var(--brand); } }
@media (max-width:860px) { .agrid { grid-template-columns:1fr; } }

/* ---- package page ---- */
.crumb { font-size:14px; color:var(--muted); padding:16px 0 0; } .crumb a { text-decoration:none; } .crumb a:hover { text-decoration:underline; }
.phero { display:grid; grid-template-columns:1.1fr .9fr; gap:34px; align-items:center; padding-top:14px; padding-bottom:10px; }
.phero h1 { font-size:clamp(30px,5vw,50px); line-height:1.08; margin:0 0 12px; max-width:none; }
.hl { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 18px; padding:0; list-style:none; }
.hl li { font-size:14px; font-weight:600; border:1px solid var(--line); background:var(--surface); border-radius:999px; padding:5px 13px; }
.pbox { display:flex; flex-wrap:wrap; align-items:center; gap:14px 22px; background:var(--surface); border:2px solid var(--ink); border-radius:16px; padding:14px 18px; max-width:540px; }
.pbox .from { font-size:13.5px; color:var(--muted); display:block; }
.pbox .amt { font-size:34px; font-weight:800; line-height:1.1; color:var(--brand); }
.pbox .per { font-size:14px; color:var(--muted); }
.pbtns { display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }
.phero .ph { aspect-ratio:5/4; border-radius:20px; border-width:2px; }
.subnav { display:flex; gap:6px; overflow-x:auto; padding:18px 0 4px; scrollbar-width:thin; }
.subnav a { flex:none; text-decoration:none; font-size:14.5px; border:1px solid var(--line); background:var(--surface); border-radius:999px; padding:6px 15px; }
.subnav a:hover { border-color:var(--brand); color:var(--brand); }
.sec { padding:34px 0 4px; scroll-margin-top:78px; }
.sec h2 { font-size:clamp(24px,3.6vw,34px); margin:0 0 14px; }
.sec > p, .lead2 { max-width:72ch; font-size:16px; margin:0 0 12px; }
.ovgrid { display:grid; grid-template-columns:1.4fr 1fr; gap:22px; align-items:start; }
.day { background:var(--surface); border:1px solid var(--line); border-radius:14px; margin:0 0 10px; overflow:hidden; }
.day summary { display:flex; gap:14px; align-items:center; cursor:pointer; padding:14px 18px; list-style:none; }
.day summary::-webkit-details-marker { display:none; }
.day summary::after { content:"+"; margin-left:auto; font-size:22px; color:var(--brand); font-weight:700; }
.day[open] summary::after { content:"\2212"; }
.dn { flex:none; background:var(--brand); color:#fff; font-weight:700; font-size:14px; border-radius:8px; padding:3px 11px; }
@media (prefers-color-scheme: dark) { .dn { color:#2a0d05; } }
.dt { font-weight:600; font-size:16.5px; }
.db { padding:0 18px 16px; border-top:1px dashed var(--line); }
.db p { margin:12px 0 10px; font-size:15.5px; max-width:75ch; }
.dm { list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:8px 22px; font-size:14px; color:var(--muted); }
.dm b { color:var(--ink); margin-right:6px; }
.tools { display:flex; justify-content:space-between; align-items:center; margin:0 0 12px; gap:12px; flex-wrap:wrap; font-size:14px; color:var(--muted); }
.tools button { font:inherit; font-size:14px; border:1px solid var(--line); background:var(--surface); color:var(--ink); border-radius:999px; padding:6px 14px; cursor:pointer; }
.tools button:hover { border-color:var(--brand); }
.mapph .ph { aspect-ratio:16/7; border-radius:16px; border-width:2px; margin-top:14px; }
.cols2 { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.cbox { background:var(--surface); border:1px solid var(--line); border-radius:16px; padding:16px 20px; }
.cbox h3 { margin:0 0 8px; font-size:20px; }
.cbox ul { list-style:none; margin:0; padding:0; }
.cbox li { position:relative; padding:8px 0 8px 28px; border-top:1px solid var(--line); font-size:15px; }
.cbox li:first-child { border-top:0; }
.cbox li::before { position:absolute; left:2px; top:8px; font-weight:800; }
.yes li::before { content:"\2713"; color:#2F8F5B; } .no li::before { content:"\2715"; color:var(--brand); }
.pricecard { background:var(--surface); border:1px solid var(--line); border-radius:16px; padding:18px 22px; }
.pricecard .amt { font-size:38px; font-weight:800; color:var(--brand); line-height:1.1; }
.pricecard ul { margin:10px 0 0; padding-left:20px; font-size:15px; } .pricecard li { margin-bottom:6px; }
.months2 { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 12px; }
.months2 span { background:var(--brand); color:#fff; font-weight:600; font-size:14px; border-radius:8px; padding:3px 12px; }
@media (prefers-color-scheme: dark) { .months2 span { color:#2a0d05; } }
.gal { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; } .gal .ph { aspect-ratio:4/3; border-radius:14px; border-width:2px; }
.rels { display:flex; flex-wrap:wrap; gap:8px; }
.rel { text-decoration:none; font-size:14.5px; border:1px solid var(--line); background:var(--surface); border-radius:999px; padding:6px 14px; }
.rel:hover { border-color:var(--brand); color:var(--brand); }
.faqs { display:grid; gap:8px; max-width:880px; }
.faq { background:var(--surface); border:1px solid var(--line); border-radius:12px; padding:2px 16px; }
.faq summary { cursor:pointer; font-weight:600; padding:12px 0; } .faq p { margin:0 0 14px; color:var(--muted); font-size:15px; }
.band { margin:38px 0 0; background:#0F2742; color:#fff; border-radius:20px; padding:28px 28px; display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:16px; }
.band h2 { margin:0 0 4px; font-size:26px; color:#fff; } .band p { margin:0; color:#C9D9EC; }
.band .btn { background:#fff; color:#0F2742; }
.btn { display:inline-block; background:var(--brand); color:#fff; font-weight:700; text-decoration:none; border-radius:12px; padding:12px 20px; font-size:16px; }
@media (prefers-color-scheme: dark) { .btn { color:#2a0d05; } .band .btn { color:#0F2742; } }
.btn.ghost { background:transparent; color:var(--brand); border:2px solid var(--brand); padding:10px 18px; }
.facts2 dl { margin:0; } .facts2 dl > div { display:flex; justify-content:space-between; gap:14px; padding:9px 0; border-top:1px solid var(--line); font-size:14.5px; }
.facts2 dt { color:var(--muted); } .facts2 dd { margin:0; font-weight:600; text-align:right; }
.note { font-size:13.5px; color:var(--muted); margin:10px 0 0; }
@media (max-width:900px) { .phero, .ovgrid, .cols2 { grid-template-columns:1fr; } .phero .ph { aspect-ratio:16/9; } .gal { grid-template-columns:1fr; } }

.tw { overflow-x:auto; margin:8px 0 6px; }
.ptab { width:100%; border-collapse:collapse; background:var(--surface); border:1px solid var(--line); border-radius:12px; overflow:hidden; font-size:15px; }
.ptab th, .ptab td { text-align:left; padding:10px 14px; border-bottom:1px solid var(--line); vertical-align:top; }
.ptab th { background:var(--bg); font-size:14px; color:var(--muted); }
.ptab tr:last-child td { border-bottom:0; }
.bl { margin:6px 0 10px; padding-left:20px; font-size:15.5px; max-width:78ch; } .bl li { margin-bottom:6px; }
.allp { padding-bottom:30px; }
.apg { background:var(--surface); border:1px solid var(--line); border-radius:12px; margin:0 0 10px; }
.apg summary { cursor:pointer; font-weight:600; padding:12px 16px; }
.apg .count { display:inline-block; font-size:13px; font-weight:700; background:var(--brand); color:#fff; border-radius:999px; padding:1px 10px; margin-left:6px; }
@media (prefers-color-scheme: dark) { .apg .count { color:#2a0d05; } }
.apg ul { list-style:none; margin:0; padding:4px 16px 14px; columns:3 240px; column-gap:24px; }
.apg li { break-inside:avoid; border-top:1px solid var(--line); } .apg li a { display:block; padding:7px 2px; text-decoration:none; font-size:14.5px; }
.apg li a:hover { color:var(--brand); text-decoration:underline; } .apg li a[aria-current] { font-weight:700; color:var(--brand); }
.fc { margin-top:12px; } .fc a { color:#C9D9EC; text-decoration:none; } .fc a:hover { color:#FF9C84; }
.clist { list-style:none; padding:0; margin:0; } .clist li { padding:10px 0; border-top:1px solid var(--line); display:flex; gap:12px; flex-wrap:wrap; } .clist li:first-child { border-top:0; } .clist b { min-width:80px; color:var(--muted); font-weight:600; } .clist a { text-decoration:none; font-weight:600; color:var(--brand); }
.enq label { display:block; font-size:14px; color:var(--muted); margin:0 0 10px; }
.enq input, .enq select { display:block; width:100%; margin-top:4px; font:inherit; font-size:16px; padding:10px 12px; border:1px solid var(--line); border-radius:10px; background:var(--bg); color:var(--ink); }
.enq button { font:inherit; cursor:pointer; border:0; } .enq .btn.ghost { border:2px solid var(--brand); }
.vid { aspect-ratio:16/9; }
.upd { font-size:13px; color:var(--muted); margin:2px 0 0; }
.eform { display:grid; grid-template-columns:1fr 1fr; gap:4px 14px; max-width:760px; }
.cbox .eform { grid-template-columns:1fr; }
.eform label { display:block; font-size:14px; color:var(--muted); margin:0 0 10px; }
.eform .wide { grid-column:1 / -1; }
.eform input, .eform select, .eform textarea { display:block; width:100%; margin-top:4px; font:inherit; font-size:16px; padding:11px 12px; border:1px solid var(--line); border-radius:10px; background:var(--surface); color:var(--ink); }
.eform input:focus, .eform select:focus, .eform textarea:focus { outline:3px solid color-mix(in srgb,var(--brand) 35%,transparent); border-color:var(--brand); }
.eform button { font:inherit; font-weight:700; cursor:pointer; }
.eform .btn:not(.ghost) { border:0; }
.eform .btn.ghost { border:2px solid var(--brand); }
.sent { background:#E3F4EA; color:#14532D; border:1px solid #9AD3B0; border-radius:12px; padding:12px 16px; margin:0 0 16px; }
@media (prefers-color-scheme: dark) { .sent { background:#12301F; color:#BFEBCF; border-color:#2C6B45; } }
@media (max-width:700px) { .eform { grid-template-columns:1fr; } }
.mapph .ph { aspect-ratio:16/7; }
.dm { margin-top:4px; }
.fh { font-size:19px; margin:18px 0 6px; }
