:root{--ink:#1d2b2a;--mut:#5a6b69;--bg:#fbfaf6;--card:#fff;--line:#dcd8cc;--acc:#0f5f5a;--acc2:#e9f2f0}
@media(prefers-color-scheme:dark){:root{--ink:#e8efee;--mut:#9fb0ae;--bg:#121a19;--card:#1a2423;--line:#2d3a38;--acc:#6fc7bf;--acc2:#1d2e2c}}
*{box-sizing:border-box}body{margin:0;font:17px/1.65 Georgia,"Times New Roman",serif;color:var(--ink);background:var(--bg)}
main,.top,footer{max-width:46rem;margin:0 auto;padding:0 1rem}
.top{display:flex;justify-content:space-between;align-items:center;padding-top:1rem;padding-bottom:1rem;border-bottom:1px solid var(--line);flex-wrap:wrap;gap:.5rem}
.brand{font-weight:700;font-size:1.2rem;text-decoration:none;color:var(--acc)}nav a{margin-left:1rem;color:var(--ink)}
h1{font-size:2rem;line-height:1.2;margin:.8rem 0}h2{font-size:1.3rem;margin:2rem 0 .5rem}.lead{font-size:1.15rem;color:var(--mut)}
.crumbs{font:.85rem system-ui,sans-serif;color:var(--mut);margin-top:1rem}a{color:var(--acc)}
.facts{background:var(--acc2);border:1px solid var(--line);border-radius:.6rem;padding:.5rem 1.2rem 1.2rem;margin:1.5rem 0}
dl{display:grid;grid-template-columns:minmax(7rem,max-content) 1fr;gap:.3rem 1rem;margin:0;font:.95rem/1.45 system-ui,sans-serif}dt{color:var(--mut)}dd{margin:0}
.button,button{display:inline-block;background:var(--acc);color:var(--bg);border:0;border-radius:.4rem;padding:.7rem 1.2rem;font:600 1rem system-ui,sans-serif;text-decoration:none;cursor:pointer}
details{border-bottom:1px solid var(--line);padding:.5rem 0}summary{cursor:pointer;font-weight:600}
.enquiry{background:var(--card);border:1px solid var(--line);border-radius:.6rem;padding:0 1.2rem 1.2rem;margin:2rem 0}
form{display:grid;gap:.8rem}label{display:grid;gap:.2rem;font:.95rem system-ui,sans-serif}input,textarea{font:inherit;padding:.55rem;border:1px solid var(--line);border-radius:.3rem;background:var(--bg);color:var(--ink)}
.check{display:flex;gap:.5rem;align-items:flex-start}.check input{margin-top:.25rem}.wa{font:.95rem system-ui,sans-serif}.aside{font-size:.95rem;color:var(--mut)}
footer{border-top:1px solid var(--line);margin-top:3rem;padding-top:1rem;padding-bottom:2rem;font:.9rem system-ui,sans-serif;color:var(--mut)}
@media(max-width:480px){h1{font-size:1.6rem}dl{grid-template-columns:1fr}dt{margin-top:.5rem}}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.reviewed{font:.9rem system-ui,sans-serif;color:var(--mut)}

/* Index pages */
.cards{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:.75rem}
.cards li{border:1px solid var(--line,#ddd);border-radius:.5rem;padding:.75rem;display:flex;flex-direction:column;gap:.25rem}
.cards .sub{font-size:.9em;opacity:.85}
.cards .price{font-size:.9em}
.jump a{white-space:nowrap}

/* Statistics choice */
.consent{position:fixed;left:0;right:0;bottom:0;background:var(--bg,#fff);color:inherit;border-top:1px solid var(--line,#ccc);padding:1rem;z-index:20;box-shadow:0 -2px 8px rgba(0,0,0,.12)}
.consent[hidden]{display:none}
.consent .choices{display:flex;gap:.75rem;flex-wrap:wrap}
.consent .choices button{flex:1 1 10rem;min-height:2.75rem}

/* Photos: package thumbnails on cards, one small picture beside a package's facts */
.cards .thumb { display: block; margin-bottom: .5rem }
.cards .thumb img, .photo img { display: block; width: 100%; max-width: 180px; height: auto; border-radius: 6px }
.photo { margin: 0 0 1rem }
