/* Castlife 2.0 - part 2 */
.cl-flag__grid{display:grid;gap:4rem}
@media (min-width:990px){.cl-flag__grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:6.4rem;align-items:start}}
.cl-flag__media{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}
.cl-flag__media figure{margin:0;position:relative;aspect-ratio:1;overflow:hidden;border-radius:4px;background:var(--foam)}
.cl-flag__media figure:first-child{grid-column:1/-1;aspect-ratio:5/4}
.cl-flag__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media (min-width:990px){.cl-flag__buy{position:sticky;top:9rem}}
.cl-flag__rating{display:flex;width:fit-content;align-items:center;gap:.8rem;font-size:1.4rem;margin-top:1.6rem;text-decoration:none}
.cl-flag__rating .cl-stars{color:var(--ink)}
.cl-flag__rating span{text-decoration:underline;text-underline-offset:.3em}
.cl-flag__rating .cl-stars{text-decoration:none}
.cl-flag__price{display:flex;margin-top:1.2rem;font-size:2.2rem}
.cl-feel{list-style:none;margin:2.8rem 0 0;padding:0;border-top:1px solid var(--line)}
.cl-feel li{display:grid;grid-template-columns:11rem minmax(0,1fr);gap:1.6rem;padding:1.4rem 0;border-bottom:1px solid var(--line);align-items:baseline}
.cl-feel b{font-family:var(--display);font-stretch:84%;font-weight:700;font-size:1.9rem;line-height:1.1}
.cl-feel span{color:var(--muted)}
.cl-buybox{display:grid;gap:1.6rem;margin-top:2.8rem}
.cl-assure{list-style:none;padding:0;margin:1.6rem 0 0;display:grid;gap:.8rem;font-size:1.4rem;color:var(--muted)}
.cl-assure li{display:flex;gap:1rem;align-items:center}
.cl-assure .cl-ico{color:var(--ink);width:1.8rem;height:1.8rem}
.cl-steps__title{font-family:var(--display);font-stretch:84%;font-weight:700;font-size:2rem;margin:3.6rem 0 1.4rem}
.cl-steps{counter-reset:clstep;list-style:none;padding:0;margin:0;display:grid;gap:1.2rem}
.cl-steps li{counter-increment:clstep;display:grid;grid-template-columns:3.4rem minmax(0,1fr);gap:1.2rem;align-items:center}
.cl-steps li::before{content:counter(clstep);font:800 1.8rem/1 var(--display);font-stretch:80%;color:var(--ink);background:var(--tape);width:3.4rem;height:3.4rem;border-radius:50%;display:flex;align-items:center;justify-content:center}
.cl-day__head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:2.4rem}
.cl-day__nav{display:none;gap:.8rem}
@media (min-width:990px){.cl-day__nav{display:flex}}
.cl-day__nav button{appearance:none;-webkit-appearance:none;width:5.2rem;height:5.2rem;border-radius:50%;border:2px solid var(--plaster);background:transparent;color:var(--plaster);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}
.cl-day__nav button:hover{background:var(--plaster);color:var(--ink)}
.cl-day__track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(24rem,29rem);gap:1.6rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 2rem;padding:4rem 2rem 2.4rem;scrollbar-width:thin;scrollbar-color:var(--tape) transparent}
@media (min-width:750px){.cl-day__track{padding-left:5rem;padding-right:5rem;scroll-padding:0 5rem}}
@media (min-width:1200px){.cl-day__track{padding-left:calc((100vw - 120rem) / 2 + 5rem);scroll-padding-left:calc((100vw - 120rem) / 2 + 5rem)}}
.cl-day__card{scroll-snap-align:start;margin:0}
.cl-day__img{position:relative;aspect-ratio:2/3;overflow:hidden;border-radius:4px;background:var(--ink-2)}
.cl-day__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cl-day__time{display:block;font-family:var(--display);font-weight:800;font-stretch:70%;font-size:4.4rem;line-height:1;margin-top:1.6rem;color:var(--tape);font-variant-numeric:tabular-nums}
.cl-day__card figcaption p{margin-top:.6rem;color:var(--muted-on-dark);max-width:30ch}
.cl-disc__grid{display:grid;gap:3.2rem;margin-top:4.8rem}
@media (min-width:750px){.cl-disc__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:4rem}}
.cl-disc__item{border-top:3px solid var(--ink);padding-top:2.4rem}
.cl-disc__item .cl-ico{width:4.4rem;height:4.4rem;margin-bottom:2rem}
.cl-disc__item p{margin-top:.8rem;color:var(--muted);max-width:36ch}
.cl-rev__top{display:flex;flex-wrap:wrap;gap:2.4rem 4rem;align-items:flex-end;justify-content:space-between}
.cl-rev__score{display:flex;align-items:flex-end;gap:1.6rem}
.cl-rev__num{font-family:var(--display);font-weight:800;font-stretch:68%;font-size:clamp(8rem,10vw,12rem);line-height:.82}
.cl-rev__meta{padding-bottom:.4rem;font-size:1.4rem;color:var(--muted)}
.cl-rev__meta .cl-stars{color:var(--ink);margin-bottom:.4rem}
.cl-rev__grid{display:grid;gap:1.6rem;margin-top:4.8rem}
@media (min-width:990px){.cl-rev__grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) minmax(0,1fr)}}
.cl-rev__q{margin:0;padding:2.8rem;border-radius:6px;background:var(--plaster);display:flex;flex-direction:column;justify-content:space-between;gap:2.4rem}
.cl-rev__q blockquote{font-size:1.8rem;line-height:1.45}
.cl-rev__q figcaption{font-size:1.4rem;color:var(--muted)}
.cl-rev__q:first-child{background:var(--ink);color:var(--plaster)}
.cl-rev__q:first-child blockquote{font-family:var(--display);font-stretch:80%;font-weight:700;font-size:clamp(2.4rem,2.6vw,3.2rem);line-height:1.12}
.cl-rev__q:first-child figcaption{color:var(--muted-on-dark)}
.cl-studio__grid{display:grid;gap:4rem;align-items:center}
@media (min-width:990px){.cl-studio__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8rem}}
.cl-studio__media{position:relative;aspect-ratio:4/5;border-radius:6px;overflow:hidden;background:var(--ink-2)}
.cl-studio__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cl-studio__actions{margin-top:3.2rem;display:flex;flex-wrap:wrap;gap:1.6rem 2.4rem;align-items:center}
.cl-packs{display:grid;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:1.2rem;margin-top:3.2rem}
.cl-pack{text-decoration:none}
.cl-pack__img{position:relative;aspect-ratio:1;border-radius:4px;overflow:hidden;background:var(--ink-2)}
.cl-pack__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cl-pack b{display:block;margin-top:.8rem;font-size:1.4rem;line-height:1.3}
.cl-pack span{font-size:1.4rem;color:var(--muted-on-dark)}
.cl-faq__grid{display:grid;gap:3.2rem}
@media (min-width:990px){.cl-faq__grid{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:8rem}}
.cl-faq details{border-bottom:1px solid var(--line)}
.cl-faq details:first-of-type{border-top:1px solid var(--line)}
.cl-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:2rem;padding:2.2rem 0;font-weight:600;font-size:1.8rem;line-height:1.35}
.cl-faq summary::-webkit-details-marker{display:none}
.cl-faq summary .cl-ico{transition:transform .2s}
.cl-faq details[open] summary .cl-ico{transform:rotate(45deg)}
.cl-faq__a{padding:0 0 2.4rem;color:var(--muted);max-width:64ch}
.cl-faq__a p+p{margin-top:1rem}
.cl-bio{padding:4rem 0 7.2rem;min-height:80vh}
.cl-bio__wrap{max-width:52rem;margin:0 auto;padding:0 2rem}
.cl-bio__brand{font-family:var(--display);font-weight:800;font-stretch:72%;font-size:4.8rem;line-height:.9;margin:0}
.cl-bio__links{display:grid;gap:1.2rem;margin-top:3.2rem}
.cl-bio__link{display:grid;grid-template-columns:6.4rem minmax(0,1fr) auto;align-items:center;gap:1.6rem;min-height:8rem;padding:.8rem 1.6rem .8rem .8rem;border-radius:6px;background:var(--ink-2);border:2px solid var(--line-dark);text-decoration:none;color:var(--plaster)}
.cl-bio__link:hover{border-color:var(--plaster)}
.cl-bio__link--main{background:var(--tape);border-color:var(--tape);color:var(--ink)}
.cl-bio__link--main:hover{background:var(--tape-hover);border-color:var(--tape-hover)}
.cl-bio__thumb{position:relative;width:6.4rem;height:6.4rem;border-radius:4px;overflow:hidden;background:var(--line-dark);display:flex;align-items:center;justify-content:center}
.cl-bio__link--main .cl-bio__thumb{background:rgba(19,32,43,.12)}
.cl-bio__thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cl-bio__thumb .cl-ico{width:2.8rem;height:2.8rem}
.cl-bio__link b{display:block;font-size:1.7rem;line-height:1.25}
.cl-bio__link small{display:block;font-size:1.4rem;opacity:.85;margin-top:.2rem}
.cl-bio__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;margin-top:3.2rem}
.cl-bio__grid div{position:relative;aspect-ratio:2/3;overflow:hidden;border-radius:2px;background:var(--ink-2)}
.cl-bio__grid img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cl-ptrust{list-style:none;margin:2rem 0 0;padding:1.8rem 0 0;border-top:1px solid rgba(19,32,43,.15);display:grid;gap:1rem;font-size:1.4rem;color:var(--ink)}
.cl-ptrust li{display:flex;gap:1rem;align-items:center}
.cl-sticky{position:fixed;left:0;right:0;bottom:0;z-index:20;background:var(--ink);color:var(--plaster);padding:1.2rem 1.6rem calc(1.2rem + env(safe-area-inset-bottom));display:flex;align-items:center;gap:1.2rem;transform:translateY(110%);transition:transform .25s ease}
.cl-sticky.is-visible{transform:none}
.cl-sticky__info{flex:1;min-width:0}
.cl-sticky__info b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:1.4rem}
.cl-sticky__info span{font-size:1.4rem;color:var(--muted-on-dark)}
.cl-sticky .cl-btn{min-height:4.8rem;padding:0 2rem}
@media (min-width:990px){.cl-sticky{display:none}}
@media (prefers-reduced-motion:reduce){.cl-sticky{transition:none}}