.guide-prose h2{position:relative;padding-left:1rem;border-left:3px solid hsl(var(--coral));margin-top:3rem;margin-bottom:1.5rem}.guide-prose h3{margin-top:2.5rem;padding-bottom:.5rem;border-bottom:1px solid hsl(var(--border))}.guide-prose hr{border:none;height:1px;background:linear-gradient(to right,transparent,hsl(var(--coral) / .3),hsl(var(--gold) / .2),transparent);margin:3rem 0}.guide-prose blockquote{border-left:3px solid hsl(var(--coral));background:hsl(var(--coral) / .05);border-radius:0 .75rem .75rem 0;padding:1.25rem 1.5rem;margin:2rem 0;font-style:normal}.guide-prose blockquote p{color:hsl(var(--foreground) / .85);margin:0}.guide-prose ul>li::marker{color:hsl(var(--coral))}.guide-prose ol>li::marker{color:hsl(var(--coral));font-weight:600}.guide-prose p>strong:first-child{color:hsl(var(--coral-glow))}.guide-prose a{text-decoration:none;background-image:linear-gradient(hsl(var(--coral)),hsl(var(--coral)));background-size:0% 1px;background-position:left bottom;background-repeat:no-repeat;transition:background-size .3s ease}.guide-prose a:hover{background-size:100% 1px}.guide-prose :not(pre)>code{background:hsl(var(--muted));padding:.15rem .4rem;border-radius:.25rem;font-size:.875em}.guide-prose .vignette{font-size:1.1875rem;line-height:1.7;color:hsl(var(--foreground) / .92);margin-bottom:2.5rem;padding-bottom:2rem;border-bottom:1px solid hsl(var(--border) / .6);letter-spacing:-.005em}.guide-prose .vignette:first-letter{font-family:var(--font-display);font-size:4.5rem;line-height:.85;float:left;padding:.4rem .75rem 0 0;color:hsl(var(--coral));font-weight:700;font-feature-settings:"ss01"}@media(max-width:640px){.guide-prose .vignette{font-size:1.0625rem}.guide-prose .vignette:first-letter{font-size:3.5rem}}.guide-prose .pull-quote{font-family:var(--font-display);font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.25;font-weight:500;color:hsl(var(--foreground));margin:3rem 0 3rem -.5rem;padding:0 0 0 1.75rem;border-left:3px solid hsl(var(--coral));letter-spacing:-.02em;position:relative}.guide-prose .pull-quote:before{content:"“";position:absolute;left:-.25rem;top:-1.5rem;font-size:4rem;line-height:1;color:hsl(var(--coral) / .25);font-family:var(--font-display)}.guide-prose .pull-quote cite{display:block;font-family:inherit;font-size:.8125rem;font-weight:500;font-style:normal;text-transform:uppercase;letter-spacing:.12em;color:hsl(var(--muted-foreground));margin-top:1rem}.guide-prose .pull-quote cite:before{content:"– "}.guide-prose .guide-image{margin:2.5rem 0}.guide-prose .guide-image img{width:100%;border-radius:.75rem;display:block}.guide-prose .guide-image figcaption{margin-top:.75rem;font-size:.8125rem;line-height:1.5;color:hsl(var(--muted-foreground));text-align:center;font-style:italic;letter-spacing:.005em}.guide-prose .guide-image--placeholder .guide-image__frame{aspect-ratio:21 / 9;width:100%;border-radius:.75rem;background:linear-gradient(135deg,hsl(var(--coral) / .08),hsl(var(--gold) / .05)),repeating-linear-gradient(45deg,hsl(var(--border) / .3) 0,hsl(var(--border) / .3) 1px,transparent 1px,transparent 14px);border:1px dashed hsl(var(--coral) / .3);display:flex;align-items:center;justify-content:center;position:relative}.guide-prose .guide-image--placeholder .guide-image__frame:after{content:"Photo forthcoming";font-family:var(--font-display);font-size:.6875rem;letter-spacing:.18em;text-transform:uppercase;color:hsl(var(--coral) / .7)}.guide-prose .insider-tip{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:start;margin:2rem 0;padding:1.25rem 1.5rem 1.25rem 1.25rem;border-radius:.75rem;background:linear-gradient(135deg,hsl(var(--coral) / .07),transparent 60%),hsl(var(--card));border:1px solid hsl(var(--coral) / .25);border-left-width:3px}.guide-prose .insider-tip__badge{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:50%;background:hsl(var(--coral));color:#fff;font-family:var(--font-display);font-size:1rem;font-weight:700;line-height:1;flex-shrink:0}.guide-prose .insider-tip__body{font-size:.9375rem;line-height:1.65;color:hsl(var(--foreground) / .9)}.guide-prose .insider-tip__body strong:first-child{display:block;font-family:var(--font-display);font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:hsl(var(--coral));margin-bottom:.35rem;font-weight:600}.guide-prose .insider-tip p{margin:0}.product-card{border:1px solid hsl(var(--border));border-radius:.75rem;background:hsl(var(--card));overflow:hidden;margin:2rem 0}.product-card__header{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;border-bottom:1px solid hsl(var(--border))}.product-card__rank{font-family:var(--font-display);font-size:1rem;font-weight:700;color:hsl(var(--muted-foreground))}.product-card__badge{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground))}.product-card__body{display:grid;grid-template-columns:200px 1fr;gap:1.5rem;padding:1.25rem}.product-card__image-wrap{background:hsl(var(--muted) / .5);border-radius:.5rem;padding:.75rem;display:flex;align-items:center;justify-content:center}.product-card__image{width:100%;height:auto;aspect-ratio:1;-o-object-fit:contain;object-fit:contain}.product-card__details h3{margin:0;border:none;padding:0}.product-card__features{display:grid;grid-template-columns:1fr 1fr;gap:.25rem 1rem;list-style:none;padding:0;margin:0}.product-card__features li{position:relative;padding-left:1rem}.product-card__features li:before{content:"";position:absolute;left:0;top:.55em;width:5px;height:5px;border-radius:50%;background:hsl(var(--muted-foreground) / .4)}.product-card__review{border-top:1px solid hsl(var(--border));padding:1rem 1.25rem}.product-card__cta{border-top:1px solid hsl(var(--border));padding:1rem 1.25rem;display:flex;flex-direction:column;align-items:center;gap:.25rem}.guide-prose .product-card{max-width:none}.guide-prose .product-card h3{margin:0;border:none;padding:0}.guide-prose .product-card p{margin:0}.guide-prose .product-card ul{margin:0;padding:0}.guide-prose .product-card li{margin:0;padding-left:1rem}.guide-prose .product-card li::marker{content:none}.guide-prose .product-card a,.guide-prose .not-prose a,.guide-prose a.not-prose{background-image:none}@media(max-width:640px){.product-card__body{grid-template-columns:1fr}.product-card__image-wrap{max-height:250px}.product-card__features{grid-template-columns:1fr}}.keyfacts{border:1px solid hsl(var(--border));border-radius:.75rem;background:hsl(var(--card));padding:1.5rem;margin:2rem 0}.keyfacts__title{font-family:var(--font-display);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:hsl(var(--coral-glow));margin:0 0 1rem}.keyfacts__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem}.keyfacts__item{display:flex;align-items:flex-start;gap:.6rem}.keyfacts__icon{font-size:1rem;line-height:1;margin-top:.15rem;flex-shrink:0}.keyfacts__label{display:block;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground))}.keyfacts__value{display:block;font-size:.875rem;font-weight:500;color:hsl(var(--foreground))}.keyfacts__cta{display:inline-flex;align-items:center;gap:.35rem;margin-top:1rem;padding:.5rem 1rem;font-size:.875rem;font-weight:600;color:hsl(var(--coral));border:1px solid hsl(var(--coral) / .3);border-radius:.5rem;background:hsl(var(--coral) / .08);text-decoration:none;transition:all .2s ease}.keyfacts__cta:hover{background:hsl(var(--coral) / .15);border-color:hsl(var(--coral) / .5)}.tipbox{border-radius:.75rem;padding:1rem 1.25rem;margin:1.5rem 0;border-left:3px solid}.tipbox--tip{border-color:#2bd4bd;background:#2bd4bd0f}.tipbox--warning{border-color:#f4b925;background:#f4b9250f}.tipbox--pro-tip{border-color:hsl(var(--coral));background:hsl(var(--coral) / .06)}.tipbox__header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.tipbox__icon{font-size:.95rem;line-height:1}.tipbox__title{font-family:var(--font-display);font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--foreground))}.tipbox__body{font-size:.9rem;line-height:1.6;color:hsl(var(--foreground) / .85)}.tipbox__body p{margin:0}.tipbox__body p+p{margin-top:.5rem}.guide-city-card{border:1px solid hsl(var(--border));border-radius:.75rem;background:hsl(var(--card));overflow:hidden;margin:2rem 0;transition:border-color .2s ease}.guide-city-card:hover{border-color:hsl(var(--coral) / .3)}.guide-city-card__header{padding:1.25rem 1.5rem 1rem;border-bottom:1px solid hsl(var(--border))}.guide-city-card__title-row{display:flex;align-items:center;gap:.75rem}.guide-city-card__rank{font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:hsl(var(--coral) / .5);line-height:1}.guide-city-card__name{font-family:var(--font-display);font-size:1.25rem;font-weight:700;color:hsl(var(--foreground));margin:0;border:none;padding:0}.guide-city-card__styles{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.75rem}.guide-city-card__style-badge{display:inline-block;padding:.15rem .6rem;border-radius:9999px;font-size:.7rem;font-weight:600}.guide-city-card__meta{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:0;border-bottom:1px solid hsl(var(--border))}.guide-city-card__meta-item{padding:.75rem 1.5rem;border-right:1px solid hsl(var(--border))}.guide-city-card__meta-item:last-child{border-right:none}.guide-city-card__meta-label{display:block;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground))}.guide-city-card__meta-value{display:block;font-size:.875rem;font-weight:500;color:hsl(var(--foreground))}.guide-city-card__body{padding:1.25rem 1.5rem;font-size:.9rem;line-height:1.7;color:hsl(var(--foreground) / .85)}.guide-city-card__body p{margin:0}.guide-city-card__body p+p{margin-top:.75rem}.guide-city-card__body .tipbox{margin:1rem 0}.guide-city-card__footer{padding:1rem 1.5rem;border-top:1px solid hsl(var(--border))}.guide-city-card__cta{display:inline-flex;align-items:center;gap:.35rem;font-size:.875rem;font-weight:600;color:hsl(var(--coral));text-decoration:none;transition:gap .2s ease}.guide-city-card__cta:hover{gap:.6rem}@media(max-width:640px){.guide-city-card__meta{grid-template-columns:1fr 1fr}.guide-city-card__meta-item:nth-child(2n){border-right:none}.guide-city-card__meta-item{border-bottom:1px solid hsl(var(--border))}}.guide-festival-card{border:1px solid hsl(var(--border));border-radius:.75rem;background:hsl(var(--card));overflow:hidden;margin:1.5rem 0;transition:border-color .2s ease}.guide-festival-card:hover{border-color:hsl(var(--coral) / .3)}.guide-festival-card__media{display:block;position:relative;aspect-ratio:16 / 9;background:hsl(var(--background));overflow:hidden}.guide-festival-card__img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .4s ease}.guide-festival-card:hover .guide-festival-card__img{transform:scale(1.03)}.guide-festival-card__header{padding:1.25rem 1.5rem;border-bottom:1px solid hsl(var(--border))}.guide-festival-card__name{font-family:var(--font-display);font-size:1.1rem;font-weight:700;color:hsl(var(--foreground));margin:0;border:none;padding:0}.guide-festival-card__location{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:hsl(var(--muted-foreground));margin-top:.25rem}.guide-festival-card__sep{color:hsl(var(--border))}.guide-festival-card__month{font-weight:600;color:hsl(var(--coral-glow))}.guide-festival-card__styles{display:flex;gap:.4rem;margin-top:.5rem}.guide-festival-card__badge{display:inline-block;padding:.15rem .6rem;border-radius:9999px;font-size:.7rem;font-weight:600}.guide-festival-card__body{padding:1rem 1.5rem;font-size:.9rem;line-height:1.7;color:hsl(var(--foreground) / .85)}.guide-festival-card__body p{margin:0}.guide-festival-card__footer{padding:.75rem 1.5rem;border-top:1px solid hsl(var(--border))}.guide-festival-card__cta{display:inline-flex;align-items:center;gap:.35rem;font-size:.85rem;font-weight:600;color:hsl(var(--coral));text-decoration:none;transition:gap .2s ease}.guide-festival-card__cta:hover{gap:.6rem}.comparison-table-wrap{margin:2rem 0}.comparison-table-scroll{overflow-x:auto;border:1px solid hsl(var(--border));border-radius:.75rem}.comparison-table{width:100%;border-collapse:collapse;font-size:.875rem}.comparison-table__caption{font-family:var(--font-display);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:hsl(var(--muted-foreground));text-align:left;padding:.75rem 1rem;caption-side:top}.comparison-table thead tr{background:hsl(var(--muted) / .5);border-bottom:1px solid hsl(var(--border))}.comparison-table th{padding:.75rem 1rem;font-weight:600;text-align:left;color:hsl(var(--foreground));white-space:nowrap;font-size:.8rem}.comparison-table td{padding:.6rem 1rem;color:hsl(var(--foreground) / .85);border-bottom:1px solid hsl(var(--border) / .5)}.comparison-table tbody tr:last-child td{border-bottom:none}.comparison-table__row--alt{background:hsl(var(--muted) / .2)}.comparison-table__th--sticky,.comparison-table__td--sticky{position:sticky;left:0;z-index:1}.comparison-table__th--sticky{background:hsl(var(--muted) / .5)}.comparison-table__td--sticky{background:hsl(var(--card));font-weight:500;color:hsl(var(--foreground))}.comparison-table__row--alt .comparison-table__td--sticky{background:#141414}.comparison-table__footnote{font-size:.75rem;color:hsl(var(--muted-foreground));margin:.5rem 0 0}.faq-accordion{margin:2rem 0}.faq-accordion__item{border:1px solid hsl(var(--border));border-radius:.75rem;margin-bottom:.5rem;overflow:hidden;background:hsl(var(--card));transition:border-color .2s ease}.faq-accordion__item[open]{border-color:hsl(var(--coral) / .3)}.faq-accordion__question{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;cursor:pointer;list-style:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.faq-accordion__question::-webkit-details-marker{display:none}.faq-accordion__question h3{font-family:var(--font-display);font-size:.95rem;font-weight:600;color:hsl(var(--foreground));margin:0;border:none;padding:0}.faq-accordion__chevron{flex-shrink:0;color:hsl(var(--muted-foreground));transition:transform .2s ease}.faq-accordion__item[open] .faq-accordion__chevron{transform:rotate(180deg)}.faq-accordion__answer{padding:0 1.25rem 1.25rem;font-size:.9rem;line-height:1.7;color:hsl(var(--foreground) / .8)}.faq-accordion__answer p{margin:0}.faq-accordion__answer p+p{margin-top:.75rem}.faq-accordion__answer a{color:hsl(var(--coral));text-decoration:none}.faq-accordion__answer a:hover{text-decoration:underline}
