*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--text: #1a1a1a;--text-light: #555;--text-muted: #888;--bg: #ffffff;--bg-alt: #f8f9fa;--border: #e5e7eb;--radius: 8px;--max-width-article: 720px;--max-width-page: 1200px;--font: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: "Cascadia Code", "Fira Code", monospace}html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font);color:var(--text);background:var(--bg);line-height:1.7;min-height:100vh;display:flex;flex-direction:column}main{flex:1;width:100%;max-width:var(--max-width-page);margin:0 auto;padding:0 1rem}h1,h2,h3,h4{line-height:1.3;color:var(--text);font-weight:700}h1{font-size:2rem;margin-bottom:1rem}h2{font-size:1.5rem;margin-top:2rem;margin-bottom:.75rem}h3{font-size:1.25rem;margin-top:1.5rem;margin-bottom:.5rem}p{margin-bottom:1rem}a{color:var(--accent);text-decoration:none;transition:color .2s}a:hover{color:var(--accent-dark);text-decoration:underline}img{max-width:100%;height:auto;display:block}ul,ol{padding-left:1.5rem;margin-bottom:1rem}li{margin-bottom:.25rem}blockquote{border-left:4px solid var(--accent);padding:.75rem 1rem;background:var(--bg-alt);margin:1.5rem 0;border-radius:0 var(--radius) var(--radius) 0}table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.9rem;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border)}thead{background:var(--accent);color:#fff}th{padding:.75rem 1rem;text-align:left;font-weight:600;font-size:.85rem;text-transform:uppercase;letter-spacing:.03em}td{padding:.65rem 1rem;border-bottom:1px solid var(--border)}tbody tr:nth-child(2n){background:var(--bg-alt)}tbody tr:hover{background:var(--accent-light)}tbody tr:last-child td{border-bottom:none}@media(max-width:640px){table{font-size:.82rem}th,td{padding:.5rem .6rem}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}}.article-content{max-width:var(--max-width-article);margin:0 auto}.article-content h2{padding-top:.5rem;border-bottom:2px solid var(--accent-light);padding-bottom:.25rem}.hero-image-wrapper{width:100%;height:300px;border-radius:var(--radius);margin-bottom:1.5rem;background-size:cover;background-position:center;background-color:var(--accent-light)}@media(min-width:640px){.hero-image-wrapper{height:350px}}.image-credit-wrapper{margin:1.5rem 0}.image-credit-wrapper img{border-radius:var(--radius);width:100%}.image-credit-wrapper figcaption{font-size:.8rem;color:var(--text-muted);text-align:right;margin-top:.25rem;font-style:italic}.card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:box-shadow .2s,transform .2s}.card:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.card-image{width:100%;height:200px;aspect-ratio:16 / 9;object-fit:cover}.card-body{padding:1rem}.card-category{font-size:.75rem;color:var(--accent);text-transform:uppercase;font-weight:600;letter-spacing:.05em}.card-title{font-size:1.1rem;margin:.25rem 0 .5rem;line-height:1.3}.card-title a{color:var(--text)}.card-title a:hover{color:var(--accent);text-decoration:none}.card-excerpt{font-size:.9rem;color:var(--text-light);line-height:1.5}.grid{display:grid;gap:1.5rem}.grid-2,.grid-3{grid-template-columns:1fr}@media(min-width:640px){.grid-2,.grid-3{grid-template-columns:repeat(2,1fr)}}@media(min-width:960px){.grid-3{grid-template-columns:repeat(3,1fr)}}.booking-banner{background:var(--accent);color:#fff;padding:1rem;text-align:center;position:sticky;bottom:0;z-index:100}.booking-banner a{color:#fff;font-weight:600;text-decoration:underline}@media(min-width:960px){.booking-banner{position:static;border-radius:var(--radius);margin:1.5rem 0}}.booking-search-box{background:var(--accent-light);border:2px solid var(--accent);border-radius:var(--radius);padding:1.5rem;text-align:center;margin:2rem 0}.booking-search-box h3{margin-top:0;color:var(--accent-dark)}.booking-search-box .btn{display:inline-block;background:var(--accent);color:#fff;padding:.75rem 2rem;border-radius:var(--radius);font-weight:600;font-size:1rem;margin-top:.75rem;transition:background .2s;border:none;cursor:pointer}.booking-search-box .btn:hover{background:var(--accent-dark);text-decoration:none}.breadcrumbs{font-size:.85rem;color:var(--text-muted);padding:1rem 0;list-style:none;display:flex;flex-wrap:wrap;gap:.25rem}.breadcrumbs li:after{content:"›";margin-left:.25rem;color:var(--text-muted)}.breadcrumbs li:last-child:after{content:""}.breadcrumbs a{color:var(--text-muted)}.breadcrumbs a:hover{color:var(--accent)}.toc{background:linear-gradient(135deg,var(--accent-light) 0%,#f0f9ff 100%);border-left:4px solid var(--accent);border-radius:0 var(--radius) var(--radius) 0;padding:1.25rem 1.5rem;margin:1.5rem 0 2rem}.toc-title{font-size:1rem;font-weight:700;margin-bottom:.75rem;color:var(--accent-dark);text-transform:uppercase;letter-spacing:.05em}.toc ol{list-style:none;padding-left:0;margin-bottom:0;columns:2;column-gap:2rem}.toc li{font-size:.88rem;margin-bottom:.4rem;padding-left:1.2rem;position:relative;break-inside:avoid}.toc li:before{content:"→";position:absolute;left:0;color:var(--accent);font-weight:600}.toc a{color:var(--text-light);transition:color .2s}.toc a:hover{color:var(--accent);text-decoration:none}@media(max-width:640px){.toc ol{columns:1}}.related-articles{margin-top:3rem;padding-top:2rem;border-top:2px solid var(--border)}.related-articles h2{border-bottom:none;margin-top:0}.category-tag{display:inline-block;background:var(--accent-light);color:var(--accent-dark);padding:.25rem .75rem;border-radius:999px;font-size:.8rem;font-weight:600}.article-meta{display:flex;align-items:center;gap:1rem;color:var(--text-muted);font-size:.85rem;margin-bottom:1.5rem;flex-wrap:wrap}.site-header{border-bottom:1px solid var(--border);padding:.75rem 0;position:sticky;top:0;z-index:1000;background:#fffffff2;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.header-inner{max-width:var(--max-width-page);margin:0 auto;padding:0 1rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:1rem}.site-logo{font-size:1.25rem;font-weight:800;color:var(--accent);white-space:nowrap;display:flex;align-items:center;gap:.25rem}.site-logo:hover{text-decoration:none;opacity:.85}.site-nav--desktop{display:none;gap:.15rem;flex-wrap:nowrap}@media(min-width:768px){.site-nav--desktop{display:flex}.hamburger{display:none!important}}.site-nav--desktop a{color:var(--text-light);font-size:.82rem;padding:.35rem .6rem;border-radius:var(--radius);white-space:nowrap;transition:all .2s}.site-nav--desktop a:hover{background:var(--accent-light);color:var(--accent);text-decoration:none}.hamburger{display:flex;flex-direction:column;justify-content:center;gap:5px;width:36px;height:36px;padding:6px;background:none;border:none;cursor:pointer;z-index:1002}.hamburger__line{display:block;width:100%;height:2px;background:var(--text);border-radius:2px;transition:transform .3s,opacity .3s}.hamburger--open .hamburger__line:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger--open .hamburger__line:nth-child(2){opacity:0}.hamburger--open .hamburger__line:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-menu{position:fixed;top:0;right:-280px;width:280px;height:100vh;background:var(--bg);z-index:1001;transition:right .3s ease;padding:5rem 1.5rem 2rem;box-shadow:-4px 0 20px #0000001a}.mobile-menu--open{right:0}.mobile-menu__nav{display:flex;flex-direction:column;gap:.25rem}.mobile-menu__link{display:block;padding:.85rem 1rem;font-size:1.05rem;color:var(--text);border-radius:var(--radius);transition:all .2s;text-decoration:none}.mobile-menu__link:hover{background:var(--accent-light);color:var(--accent);text-decoration:none}.mobile-menu__overlay{position:fixed;inset:0;background:#0006;z-index:1000;opacity:0;pointer-events:none;transition:opacity .3s}.mobile-menu__overlay--visible{opacity:1;pointer-events:auto}@media(min-width:768px){.mobile-menu,.mobile-menu__overlay{display:none!important}}.site-footer{border-top:1px solid var(--border);padding:2rem 0;margin-top:3rem;text-align:center;color:var(--text-muted);font-size:.85rem}.footer-inner{max-width:var(--max-width-page);margin:0 auto;padding:0 1rem}.footer-links{display:flex;justify-content:center;gap:1.5rem;margin-bottom:1rem;flex-wrap:wrap}.footer-links a{color:var(--text-muted)}.section-header{margin-bottom:1.5rem}.section-header h2{margin-top:0;border-bottom:none}.section-header p{color:var(--text-light);margin-bottom:0}.home-hero{text-align:center;padding:3rem 0}.home-hero h1{font-size:2.5rem;margin-bottom:.75rem}.home-hero p{font-size:1.15rem;color:var(--text-light);max-width:600px;margin:0 auto 1.5rem}.category-section{margin-bottom:3rem}.category-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.category-section-header h2{margin:0;border-bottom:none}.category-section-header a{font-size:.9rem}.article-layout{display:grid;grid-template-columns:1fr;gap:2rem;max-width:1400px;margin:0 auto}@media(min-width:1100px){.article-layout{grid-template-columns:200px 1fr 200px}}.article-main{min-width:0}.article-header h1{margin-top:.5rem}.booking-sidebar{display:none}@media(min-width:1100px){.booking-sidebar{display:block}}.booking-sidebar__sticky{position:sticky;top:80px;display:flex;flex-direction:column;gap:1rem;align-self:start}.booking-sidebar__card{background:linear-gradient(180deg,var(--accent-light) 0%,#fff 100%);border:2px solid var(--accent);border-radius:var(--radius);padding:1.25rem 1rem;text-align:center;display:flex;flex-direction:column;align-items:center;min-height:220px;justify-content:center}.booking-sidebar__icon{font-size:2rem;margin-bottom:.5rem}.booking-sidebar__title{font-size:.9rem;font-weight:700;color:var(--accent-dark);margin-bottom:.5rem}.booking-sidebar__text{font-size:.8rem;color:var(--text-light);margin-bottom:.75rem;line-height:1.4}.booking-sidebar__btn{display:block;background:var(--accent);color:#fff!important;padding:.6rem 1rem;border-radius:var(--radius);font-weight:600;font-size:.85rem;transition:all .2s;text-align:center}.booking-sidebar__btn:hover{background:var(--accent-dark);text-decoration:none!important;transform:translateY(-1px);box-shadow:0 2px 8px #0077b633}.booking-sidebar__btn--outline{background:#fff;color:var(--accent)!important;border:2px solid var(--accent)}.booking-sidebar__btn--outline:hover{background:var(--accent-light)}.booking-sidebar__links{list-style:none;padding:0;margin:0}.booking-sidebar__links li{margin-bottom:.4rem}.booking-sidebar__links a{font-size:.82rem;color:var(--text-light);display:block;padding:.3rem .5rem;border-radius:4px;transition:all .15s}.booking-sidebar__links a:hover{color:var(--accent);background:var(--accent-light);text-decoration:none}.affiliate-inline{margin:2rem 0;border:2px solid var(--accent);border-radius:var(--radius);background:linear-gradient(135deg,var(--accent-light) 0%,#fff 100%);overflow:hidden}.affiliate-inline__content{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem}.affiliate-inline__icon{font-size:2rem;flex-shrink:0}.affiliate-inline__info{flex:1;min-width:0}.affiliate-inline__title{font-size:.95rem;font-weight:700;color:var(--text);margin:0 0 .15rem}.affiliate-inline__text{font-size:.82rem;color:var(--text-muted);margin:0;line-height:1.4}.affiliate-inline__btn{flex-shrink:0;display:inline-block;background:var(--accent);color:#fff!important;padding:.6rem 1.25rem;border-radius:var(--radius);font-weight:600;font-size:.85rem;white-space:nowrap;transition:all .2s;text-decoration:none!important}.affiliate-inline__btn:hover{background:var(--accent-dark);transform:translateY(-1px);box-shadow:0 2px 8px #0077b633}@media(max-width:640px){.affiliate-inline__content{flex-direction:column;text-align:center;gap:.75rem}.affiliate-inline__btn{width:100%;text-align:center}}@media(max-width:640px){h1{font-size:1.6rem}h2{font-size:1.3rem}.home-hero h1{font-size:1.8rem}.home-hero{padding:2rem 0}}.article-inline-figure{margin:2rem 0;border-radius:12px;overflow:hidden;box-shadow:0 4px 16px #0000001a}.article-inline-figure img{width:100%;height:auto;display:block;aspect-ratio:16/9;object-fit:cover}.article-inline-figure figcaption{padding:.5rem 1rem;font-size:.8rem;color:#888;background:#f9f9f9;font-style:italic}
