/* oti-public.css — the shared skin for On Thin Ice's PUBLIC pages: the homepage and the
   six policy pages Razorpay requires. No gate, no session, no data. Palette and type are
   lifted from the public nonstop page so the whole public face reads as one club.
   These pages are deliberately plain and text-first: a crawler and a parent should both
   be able to read them in seconds. */
:root{
  --navy:#1B2A5B; --navyd:#111B3D; --cream:#F7F3EC; --paper:#F1EADC;
  --gold:#B8932A; --goldl:#D4AA52; --terra:#C4613A; --ice:#BDD4DF; --iced:#456C8A; --mid:#354063;
}
*{margin:0;padding:0;box-sizing:border-box;-webkit-font-smoothing:antialiased;}
body{
  background:var(--paper); color:var(--navy); font-family:'DM Sans',sans-serif;
  line-height:1.65; min-height:100vh; padding:28px 16px 0;
}
.mono{font-family:'DM Mono',monospace;font-weight:500;}
.anton{font-family:'Archivo Black',sans-serif;}
.cormo{font-family:'Fraunces',serif;}
a{color:var(--iced);text-decoration:underline;text-underline-offset:2px;}
a:hover{color:var(--terra);}

.wrap{max-width:720px;margin:0 auto;}

/* Brand block, shared with the club face */
.brand{display:flex;align-items:center;gap:14px;margin-bottom:26px;}
.crest{width:66px;height:66px;object-fit:contain;flex:none;filter:drop-shadow(3px 4px 0 rgba(27,42,91,.12));}
.brandtext .l1{font-family:'DM Mono',monospace;font-weight:500;font-size:13px;letter-spacing:2.5px;}
.brandtext .l2{font-family:'DM Mono',monospace;font-weight:500;font-size:11px;letter-spacing:2px;color:var(--gold);margin-top:2px;}

.kicker{font-family:'DM Mono',monospace;font-weight:500;font-size:12px;letter-spacing:4px;color:var(--terra);text-transform:uppercase;}
h1{font-family:'Fraunces',serif;font-weight:500;font-size:40px;line-height:1.06;margin:8px 0 6px;}
h1 em{font-style:italic;color:var(--iced);}
.lede{font-size:17px;color:var(--mid);margin-top:10px;}
.updated{font-family:'DM Mono',monospace;font-size:12px;letter-spacing:.5px;color:var(--iced);margin-top:10px;}

.card{
  background:var(--cream);border:2px solid var(--navy);
  padding:30px 28px;margin-top:24px;
  box-shadow:8px 10px 0 rgba(27,42,91,.10);
}
.card h2{font-family:'Archivo Black',sans-serif;font-size:17px;color:var(--terra);letter-spacing:.3px;margin:0 0 12px;}
.card h3{font-family:'DM Sans',sans-serif;font-weight:700;font-size:15px;margin:20px 0 6px;letter-spacing:.2px;}
.card p{margin:0 0 12px;}
.card p:last-child{margin-bottom:0;}
.card ul{margin:0 0 12px 20px;}
.card li{margin:0 0 7px;}
.card .small{font-size:14px;color:var(--mid);}

/* Definition rows for the contact page */
.deflist{display:grid;grid-template-columns:150px 1fr;gap:10px 18px;margin-top:4px;}
.deflist dt{font-family:'DM Mono',monospace;font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--iced);padding-top:2px;}
.deflist dd{margin:0;font-size:16px;}
@media(max-width:480px){ .deflist{grid-template-columns:1fr;gap:2px 0;} .deflist dd{margin-bottom:12px;} }

/* Pricing table */
.ptable{width:100%;border-collapse:collapse;margin-top:6px;}
.ptable th,.ptable td{text-align:left;padding:11px 12px;border-bottom:1px solid rgba(27,42,91,.18);vertical-align:top;}
.ptable th{font-family:'DM Mono',monospace;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--iced);}
.ptable td.fee{font-family:'DM Mono',monospace;font-weight:500;white-space:nowrap;color:var(--navy);}
.ptable tr:last-child td{border-bottom:0;}

/* The "supply this" and "decide this" markers — deliberately loud so nobody ships them
   by accident and a screenshot shows them at a glance. */
.tbs{display:inline-block;background:#C4613A;color:#fff;font-family:'DM Mono',monospace;
  font-size:12px;font-weight:500;letter-spacing:1px;padding:2px 8px;border-radius:4px;text-transform:uppercase;}
.flag{border-left:4px solid var(--gold);background:rgba(184,147,42,.10);padding:12px 16px;margin:14px 0;font-size:14px;color:var(--mid);}
.flag b{color:var(--navy);}

/* Primary action button (homepage) */
.btnrow{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px;}
.btn{display:inline-block;background:var(--navy);color:var(--cream);text-decoration:none;
  font-family:'Archivo Black',sans-serif;font-size:14px;letter-spacing:.5px;
  padding:14px 26px;border-radius:12px;}
.btn:hover{background:var(--navyd);color:var(--cream);}
.btn.ghost{background:transparent;color:var(--navy);border:2px solid var(--navy);padding:12px 24px;}
.btn.ghost:hover{background:var(--navy);color:var(--cream);}

/* Shared footer — every public page carries it, and the crawler follows every link here */
footer{max-width:720px;margin:40px auto 0;padding:26px 4px 40px;border-top:1px solid rgba(27,42,91,.22);
  position:relative;z-index:1;}
.fnav{display:flex;flex-wrap:wrap;gap:10px 18px;font-size:14px;}
.fnav a{color:var(--iced);}
.fentity{margin-top:16px;font-size:13px;color:var(--mid);line-height:1.6;}
.fentity b{color:var(--navy);}

/* Entity name that reveals the full registration + contact card on hover or focus.
   The detail text stays in the DOM (only visually hidden), so a crawler still reads it. */
.entity-pop{position:relative;display:inline-block;}
.entity-name{font-weight:700;color:var(--navy);border-bottom:1px dotted var(--iced);cursor:help;}
.entity-detail{
  position:absolute;left:0;bottom:calc(100% + 8px);
  width:min(340px,92vw);background:var(--cream);border:2px solid var(--navy);
  box-shadow:6px 8px 0 rgba(27,42,91,.12);padding:14px 16px;
  font-size:12px;line-height:1.7;color:var(--mid);font-weight:400;
  opacity:0;visibility:hidden;transform:translateY(4px);
  transition:opacity .12s ease,transform .12s ease;z-index:30;
}
.entity-detail a{color:var(--iced);}
.entity-pop:hover .entity-detail,
.entity-pop:focus-within .entity-detail{opacity:1;visibility:visible;transform:translateY(0);}
