* { box-sizing:border-box; margin:0; padding:0; }
:root { --cream:#FDF6E3; --brown:#5C3D1E; --muted:#795334; --orange:#995011; --olive:#536033; }
body { background:var(--cream); color:var(--brown); font:400 1rem/1.65 'Lato',Arial,sans-serif; }
a { color:var(--brown); text-underline-offset:3px; }
h1,h2,h3 { line-height:1.2; }
h1,h2 { font-family:'Playfair Display',Georgia,serif; }
h2 { font-size:clamp(1.7rem,4vw,2.6rem); margin:0 0 26px; }
h3 { font-size:1.18rem; margin-bottom:16px; }
.hero { text-align:center; padding:40px 24px 64px; background:radial-gradient(ellipse at 60% 40%,#f5e6c0,transparent 70%); }
.egg-icon { display:block; font-size:64px; line-height:1.2; margin-bottom:20px; }
.hero h1 { font-size:clamp(2.4rem,6vw,4rem); margin-bottom:24px; }
.hero h1 em { color:var(--orange); font-weight:400; }
.intro { max-width:600px; margin:0 auto 22px; font-size:1.17rem; color:var(--muted); }
.eyebrow { font-size:.76rem; text-transform:uppercase; letter-spacing:.14em; font-weight:bold; color:var(--orange); margin-bottom:12px; }
.reviewed { font-size:.8rem; color:var(--muted); }
.guide-nav { display:flex; gap:20px; justify-content:center; flex-wrap:wrap; margin-top:24px; }
.guide-nav a { font-weight:700; padding:6px; }
.guide-section { max-width:960px; margin:auto; padding:56px 24px; }
.rules-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.rule-card { background:#fffaf0; border:1px solid #deccaa; border-radius:18px; padding:26px 22px; }
.number { display:block; font:italic 2rem Georgia,serif; color:var(--orange); margin-bottom:16px; }
.source { font-size:.78rem; margin-top:16px; line-height:1.5; overflow-wrap:anywhere; }
.source a { color:var(--olive); }
.water-note { max-width:912px; margin:12px auto; padding:34px; background:#efe3c9; border-left:5px solid var(--orange); border-radius:0 16px 16px 0; }
.water-note h2 { font-size:clamp(1.5rem,3vw,2.05rem); margin-bottom:18px; }
.table-scroll { max-width:100%; overflow-x:auto; border:1px solid #d3bf9b; border-radius:12px; }
table { width:100%; border-collapse:collapse; text-align:left; font-size:.96rem; }
caption { text-align:left; padding:16px 20px; font-weight:bold; background:#efe3c9; }
th,td { padding:18px 20px; vertical-align:top; border-bottom:1px solid #deccaa; overflow-wrap:anywhere; }
thead { background:var(--brown); color:#fffaf0; }
tbody th { width:28%; font-weight:700; }
tr:last-child th,tr:last-child td { border-bottom:0; }
.faq-section { padding-top:10px; }
.faq-item { border-bottom:1px solid #d3bf9b; }
.faq-item h3 { margin:0; }
.faq-question { display:flex; gap:18px; justify-content:space-between; align-items:center; width:100%; padding:22px 0; background:none; color:var(--brown); border:0; text-align:left; font:700 1rem/1.5 'Lato',Arial,sans-serif; cursor:pointer; }
.faq-symbol { width:24px; flex-shrink:0; text-align:center; font-size:1.4rem; }
.faq-symbol::after { content:'+'; }
.faq-question[aria-expanded="true"] .faq-symbol::after { content:'−'; }
.faq-answer { padding:0 38px 24px 0; }
.vet-note { border-top:1px solid #d3bf9b; }
.print-section { display:flex; align-items:center; justify-content:space-between; gap:24px; background:#efe3c9; max-width:912px; border-radius:16px; margin-bottom:50px; padding:32px; }
.print-section h2 { font-size:1.6rem; margin-bottom:10px; }
footer { text-align:center; padding:24px; border-top:1px solid #d3bf9b; }
footer p { margin-top:16px; }
.scope { font-size:.8rem; color:var(--muted); }
@media (max-width:760px) { .rules-grid { grid-template-columns:1fr; } .water-note,.print-section { margin-left:20px; margin-right:20px; } .print-section { flex-direction:column; align-items:flex-start; } }
@media (max-width:480px) { .guide-section { padding:36px 20px; } .hero { padding-top:20px; } th,td { padding:12px 10px; } tbody th { width:30%; } table { font-size:.88rem; } .guide-nav { gap:6px 12px; } }
@media print {
  @page { margin:16mm; }
  body { background:#fff; color:#111; font:10pt/1.4 Arial,sans-serif; }
  main, .guide-section { max-width:none; }
  .hero { background:none; padding:0 0 18px; text-align:left; }
  .hero h1 { font-size:25pt; margin-bottom:12px; }
  .intro { margin:0 0 10px; max-width:none; font-size:11pt; }
  .egg-icon, .guide-nav, .print-section, .faq-symbol { display:none !important; }
  .guide-section { padding:18px 0; }
  .rules-grid { display:block; }
  .rule-card { margin:0 0 10px; padding:12px; }
  .number { display:none; }
  h2 { font-size:18pt; margin-bottom:12px; break-after:avoid; }
  h3,.faq-question { font-size:11pt; }
  .water-note, .vet-note { margin:12px 0; padding:12px; }
  .source { font-size:8pt; margin-top:8px; }
  .source a::after { content:' (' attr(href) ')'; overflow-wrap:anywhere; }
  .faq-answer, .faq-answer[hidden] { display:block !important; padding:0 0 14px; }
  .faq-question { padding:14px 0 8px; }
  .faq-item,.rule-card,tr { break-inside:avoid; }
  .table-scroll { overflow:visible; }
  thead { display:table-header-group; background:#eee; color:#111; }
  th,td { padding:10px; }
  footer { padding:14px 0 0; }
}
