/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Aug 03 2026 | 13:31:32 */
:root{
  --red:#d4141c;--red-dark:#b90f16;--red-soft:#ff4047;
  --black:#050505;--surface:#111113;--surface-2:#19191c;--surface-3:#242428;
  --paper:#f2f0ec;--white:#fff;--text:#f7f7f7;--muted:#b9b9be;--ink:#111114;--ink-muted:#53535a;
  --line:rgba(255,255,255,.14);--line-dark:rgba(12,12,15,.18);
  --display:Impact,"Arial Narrow",system-ui,sans-serif;--font:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --container:1200px;--header:82px;--radius:18px;--radius-lg:28px;--shadow:0 24px 70px rgba(0,0,0,.34);
}
*{box-sizing:border-box}
html{max-width:100%;overflow-x:clip;scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + 1rem)}
body{margin:0;max-width:100%;overflow-x:clip;background:var(--black);color:var(--text);font:400 1rem/1.65 var(--font);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
main{min-height:70vh}
.container{width:min(calc(100% - 2rem),var(--container));margin-inline:auto}
.reading{width:min(calc(100% - 2rem),780px);margin-inline:auto}
.stack{display:grid;gap:var(--gap,1rem)}
.cluster{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}
.grid{display:grid;gap:1rem}
.skip-link{position:fixed;z-index:9999;left:1rem;top:1rem;transform:translateY(-200%);padding:.7rem 1rem;background:#fff;color:#000;border-radius:.5rem;font-weight:900}
.skip-link:focus{transform:none}
:focus-visible{outline:3px solid #fff;outline-offset:3px}
.section{padding-block:clamp(4.2rem,8vw,7rem)}
.section--tight{padding-block:clamp(2.6rem,5vw,4.2rem)}
.section--paper{background:var(--paper);color:var(--ink)}
.section--white{background:#fff;color:var(--ink)}
.section--red{background:linear-gradient(130deg,var(--red),var(--red-dark));color:#fff}
.section-head{display:grid;gap:.9rem;margin-bottom:2rem;max-width:800px}
.section-head--split{max-width:none;align-items:end}
.eyebrow{display:inline-flex;align-items:center;gap:.65rem;color:var(--red-soft);font-weight:900;letter-spacing:.17em;text-transform:uppercase;font-size:.76rem}
.eyebrow:before{content:"";width:1.8rem;height:3px;background:currentColor}
.section--paper .eyebrow,.section--white .eyebrow{color:var(--red)}
h1,h2,h3,h4,p{margin:0}
h1,h2,h3,h4{overflow-wrap:normal;word-break:normal;hyphens:none}
p{overflow-wrap:break-word;word-break:normal}
h1,h2,h3{font-family:var(--display);font-weight:900;letter-spacing:-.025em;text-wrap:balance}
h1{font-size:clamp(2.6rem,4.4vw,4.5rem);line-height:.94;text-transform:uppercase;max-width:20ch}
.page-hero h1{font-size:clamp(2.5rem,4vw,4.25rem);max-width:22ch}
h2{font-size:clamp(2.15rem,4.2vw,4rem);line-height:.98;text-transform:uppercase}
h3{font-size:clamp(1.25rem,2vw,1.75rem);line-height:1.08}
.lead{font-size:clamp(1.08rem,1.1rem + .35vw,1.35rem);color:var(--muted);max-width:66ch}
.section--paper .lead,.section--white .lead{color:var(--ink-muted)}
.small{font-size:.88rem}
.muted{color:var(--muted)}
.section--paper .muted,.section--white .muted{color:var(--ink-muted)}
.button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:.78rem 1.05rem;border:1px solid transparent;border-radius:999px;text-decoration:none;font-weight:900;line-height:1.15;transition:transform .18s ease,background .18s ease,border-color .18s ease}
.button:hover{transform:translateY(-2px)}
.button--red{background:var(--red);color:#fff}
.button--red:hover{background:var(--red-dark)}
.button--dark{background:#080809;color:#fff;border-color:rgba(255,255,255,.25)}
.button--outline{border-color:rgba(255,255,255,.4);color:#fff;background:transparent}
.section--paper .button--outline,.section--white .button--outline{border-color:#222;color:#111}
.text-link{font-weight:900;text-decoration-thickness:2px;text-underline-offset:.2em}
.text-link:hover{color:var(--red)}
.site-header{position:sticky;z-index:1000;top:0;height:var(--header);background:rgba(4,4,5,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}
.navbar{height:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.brand{display:block;flex:0 0 auto}
.brand img{width:184px;height:auto}
.nav-links{display:none;list-style:none;margin:0;padding:0;align-items:center;gap:.12rem;white-space:nowrap}
.nav-links>li>a,.nav-dropdown>summary{display:flex;min-height:44px;align-items:center;padding:.6rem .72rem;border-radius:.68rem;text-decoration:none;font-weight:850;font-size:.83rem;list-style:none}
.nav-dropdown>summary::-webkit-details-marker{display:none}
.nav-dropdown>summary:after{content:"▾";margin-left:.36rem;font-size:.72rem;color:var(--muted)}
.nav-links>li>a:hover,.nav-links>li>a[aria-current=page],.nav-dropdown>summary:hover,.nav-dropdown[open]>summary{background:var(--surface-3)}
.nav-cta{background:var(--red)!important;color:#fff!important;padding-inline:1rem!important}
.nav-dropdown{position:relative}
.dropdown-menu{position:absolute;top:calc(100% + .55rem);left:0;min-width:250px;padding:.55rem;border:1px solid var(--line);border-radius:1rem;background:#0b0b0d;box-shadow:var(--shadow);display:grid;gap:.18rem}
.dropdown-menu a{padding:.62rem .7rem;border-radius:.55rem;text-decoration:none;font-weight:750;font-size:.88rem}
.dropdown-menu a:hover,.dropdown-menu a[aria-current=page]{background:var(--surface-3);color:#fff}
.menu-toggle{width:48px;height:48px;display:grid;place-items:center;border:1px solid var(--line);border-radius:.75rem;background:var(--surface);color:#fff}
.menu-toggle svg{width:24px}
.mobile-nav{position:fixed;z-index:999;inset:var(--header) 0 auto 0;max-height:calc(100svh - var(--header));overflow:auto;padding:1rem;background:#08080a;border-bottom:1px solid var(--line);display:none}
.mobile-nav[data-open=true]{display:grid;gap:.45rem}
.mobile-nav>a,.mobile-nav summary{display:flex;min-height:48px;align-items:center;padding:.7rem .8rem;border-radius:.65rem;text-decoration:none;font-weight:850;list-style:none}
.mobile-nav>a:hover,.mobile-nav summary:hover{background:var(--surface-2)}
.mobile-services>summary::-webkit-details-marker{display:none}
.mobile-services>summary:after{content:"+";margin-left:auto;color:var(--red);font-size:1.3rem}
.mobile-services[open]>summary:after{content:"−"}
.mobile-submenu{display:grid;gap:.25rem;padding:.35rem 0 .5rem 1rem}
.mobile-submenu a{padding:.65rem .75rem;border-left:2px solid var(--red);text-decoration:none;color:var(--muted)}
.hero{padding-block:clamp(2.5rem,5vw,5.5rem);overflow:hidden}
.hero-grid,.page-hero-grid{display:grid;gap:2.2rem;align-items:center}
.hero-copy{display:grid;gap:1.25rem}
.hero-copy h1 em{color:var(--red);font-style:normal}
.hero-media,.media{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow);aspect-ratio:16/10}
.hero-media:after,.media:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 45%,rgba(237,28,36,.16)),linear-gradient(to top,rgba(0,0,0,.36),transparent 48%);pointer-events:none}
.hero-media img,.media img{width:100%;height:100%;object-fit:cover}
.hero-badge{position:absolute;z-index:2;left:1rem;bottom:1rem;max-width:18rem;padding:.8rem .9rem;border:1px solid rgba(255,255,255,.22);border-radius:.8rem;background:rgba(3,3,4,.78);backdrop-filter:blur(10px);font-weight:850}
.hero-badge strong{display:block;color:#fff}
.hero-badge span{display:block;color:var(--muted);font-size:.78rem}
.trust-bar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:2rem;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--surface)}
.trust{padding:1rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.trust:nth-child(2n){border-right:0}
.trust:nth-last-child(-n/**/+2){border-bottom:0}
.trust strong{display:block;color:#fff;font-family:var(--display);font-size:1.8rem;line-height:1}
.trust span{display:block;margin-top:.28rem;color:var(--muted);font-size:.76rem}
.page-hero{padding-block:2rem clamp(3.6rem,7vw,6rem)}
.breadcrumbs{margin-bottom:1.6rem}
.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:.42rem;list-style:none;margin:0;padding:0;color:var(--muted);font-size:.78rem}
.breadcrumbs li+li:before{content:"/";margin-right:.42rem;color:#707078}
.breadcrumbs a{text-decoration:none}
.breadcrumbs a:hover{color:#fff}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,245px),1fr));gap:1rem}
.card{display:grid;gap:.8rem;align-content:start;min-width:0;padding:1.25rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--text);transition:transform .2s ease,border-color .2s ease}
.card:hover{transform:translateY(-4px);border-color:rgba(237,28,36,.58)}
.card p{color:var(--muted)}
.card-icon{width:2.8rem;height:2.8rem;display:grid;place-items:center;border-radius:.8rem;background:var(--red);font-weight:950}
.section--paper .card,.section--white .card{background:#fff;color:var(--ink);border-color:var(--line-dark);box-shadow:0 14px 35px rgba(0,0,0,.08)}
.section--paper .card p,.section--white .card p{color:var(--ink-muted)}
.image-card{padding:0;overflow:hidden}
.image-card img{width:100%;aspect-ratio:16/10;object-fit:cover}
.image-card-copy{display:grid;gap:.7rem;padding:1.15rem}
.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:1rem}
.feature{padding:1.2rem;border-left:4px solid var(--red);background:var(--surface);color:var(--text);border-radius:0 var(--radius) var(--radius) 0}
.feature p{margin-top:.45rem;color:var(--muted)}
.section--paper .feature{background:#fff;color:var(--ink);box-shadow:0 12px 34px rgba(0,0,0,.07)}
.section--paper .feature p{color:var(--ink-muted)}
.split{display:grid;grid-template-columns:minmax(0,1fr);gap:2rem;align-items:center}
.split>*,.hero-grid>*,.page-hero-grid>*{min-width:0}
.process{counter-reset:step;display:grid;gap:.85rem}
.process-item{position:relative;padding:1.1rem 1.1rem 1.1rem 4rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--text)}
.process-item:before{counter-increment:step;content:counter(step,decimal-leading-zero);position:absolute;left:1rem;top:1rem;color:var(--red);font:900 1.4rem/1 var(--display)}
.process-item p{margin-top:.35rem;color:var(--muted)}
.section--paper .process-item{background:#fff;color:var(--ink);border-color:var(--line-dark)}
.section--paper .process-item p{color:var(--ink-muted)}
.staff-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:1rem}
.staff-card{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--text)}
.staff-photo{aspect-ratio:4/5;background:#0d0d0f}
.staff-copy{padding:1rem}
.staff-copy p{margin-top:.38rem;color:var(--muted);font-size:.9rem}
.price-nav{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem}
.price-nav a{min-height:44px;display:flex;align-items:center;padding:.6rem .85rem;border:1px solid var(--line-dark);border-radius:999px;text-decoration:none;font-weight:850;color:var(--ink);background:#fff}
.price-nav a:hover{background:var(--red);color:#fff;border-color:var(--red)}
.pricing-grid{display:grid;grid-template-columns:1fr;gap:1rem}
.price-card{display:grid;gap:.75rem;align-content:start;min-width:0;padding:1.3rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--text)}
.price-card>*{color:inherit}
.price-card h3,.price-card p,.price-card li,.price-card a,.price-card span,.price-card strong{color:inherit}
.price-card .price{font-family:var(--display);font-size:clamp(2.6rem,5vw,4.2rem);line-height:.9;color:#fff}
.price-card .price small{font:800 .8rem/1 var(--font);color:var(--muted)}
.price-card .meta-line{padding-top:.65rem;border-top:1px solid var(--line);color:var(--muted)}
.price-card ul{margin:0;padding-left:1.1rem;color:var(--muted)}
.price-card--featured{border-color:var(--red);box-shadow:0 0 0 1px var(--red),var(--shadow)}
.price-card .button{margin-top:auto}
.price-section{scroll-margin-top:calc(var(--header) + 1rem)}
.price-section+.price-section{margin-top:3rem;padding-top:3rem;border-top:1px solid var(--line-dark)}
.saving{display:inline-flex;width:max-content;padding:.28rem .55rem;border-radius:999px;background:rgba(237,28,36,.16);color:#ffb4b7!important;font-size:.74rem;font-weight:900}
.promo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:1rem}
.promo-card{padding:1.35rem;border:2px solid var(--red);border-radius:var(--radius);background:#fff;color:var(--ink)}
.promo-card p{margin-top:.55rem;color:var(--ink-muted)}
.table-wrap{overflow-x:auto;border:1px solid var(--line-dark);border-radius:var(--radius);background:#fff}
.data-table{width:100%;border-collapse:collapse;min-width:620px;color:var(--ink)}
.data-table th,.data-table td{padding:.92rem 1rem;text-align:left;border-bottom:1px solid var(--line-dark);vertical-align:top}
.data-table th{background:#161619;color:#fff;font-size:.8rem;letter-spacing:.05em;text-transform:uppercase}
.data-table tr:last-child td{border-bottom:0}
.data-table tbody tr:nth-child(even){background:#f7f6f3}
.data-table strong{color:var(--ink)}
.notice{padding:1rem 1.1rem;border-left:4px solid var(--red);border-radius:0 var(--radius) var(--radius) 0;background:#fff;color:var(--ink);box-shadow:0 12px 35px rgba(0,0,0,.07)}
.notice p{color:var(--ink-muted)}
.review-strip{display:grid;gap:1rem;align-items:center;padding:1.3rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:linear-gradient(130deg,#1b1b1e,#09090a);color:#fff}
.review-score{display:flex;align-items:baseline;gap:.65rem}
.review-score strong{font:900 clamp(3rem,8vw,5.5rem)/.8 var(--display);color:var(--red)}
.review-score span{color:var(--muted)}
.schedule-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1rem}
.schedule-card{padding:1.2rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--text)}
.schedule-card h3,.schedule-card p,.schedule-card strong,.schedule-card span{color:inherit}
.schedule-card p{margin-top:.4rem;color:var(--muted)}
.schedule-card .peak{display:inline-flex;margin-top:.7rem;padding:.28rem .5rem;border-radius:999px;background:rgba(237,28,36,.18);color:#ffc7c9;font-size:.75rem;font-weight:850}
.section--paper .schedule-card{background:#fff;color:var(--ink);border-color:var(--line-dark);box-shadow:0 12px 34px rgba(0,0,0,.07)}
.section--paper .schedule-card p{color:var(--ink-muted)}
.section--paper .schedule-card .peak{color:var(--red-dark)}
.faq{display:grid;gap:.75rem}
.faq details{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--text)}
.faq summary{cursor:pointer;list-style:none;padding:1rem 3rem 1rem 1.05rem;position:relative;font-weight:900}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";position:absolute;right:1rem;top:.72rem;color:var(--red);font-size:1.6rem}
.faq details[open] summary:after{content:"−"}
.faq-answer{padding:0 1.05rem 1.05rem;color:var(--muted)}
.section--paper .faq details,.section--white .faq details{border-color:var(--line-dark);background:#fff;color:var(--ink)}
.section--paper .faq-answer,.section--white .faq-answer{color:var(--ink-muted)}
.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1rem}
.contact-card{display:grid;gap:.4rem;padding:1.2rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--text)}
.contact-card h3,.contact-card p,.contact-card a,.contact-card strong{color:inherit}
.contact-card p{color:var(--muted)}
.contact-card a{font-weight:900;text-underline-offset:.2em}
.form-layout{display:grid;gap:2rem;align-items:start}
.form-card{display:grid;gap:1rem;padding:1.3rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);color:var(--text);box-shadow:var(--shadow)}
.form-card h2,.form-card p,.form-card label,.form-card a,.form-card span{color:inherit}
.form-grid{display:grid;gap:1rem}
.field{display:grid;gap:.4rem}
.field label{font-weight:850}
.field input,.field select,.field textarea{width:100%;padding:.85rem .9rem;border:1px solid #55555c;border-radius:.65rem;background:#09090b;color:#fff}
.field textarea{min-height:8rem;resize:vertical}
.field input::placeholder,.field textarea::placeholder{color:#8f8f96}
.field-error{min-height:1.15rem;color:#ffafb2;font-size:.8rem}
.checkbox{display:grid;grid-template-columns:1.25rem 1fr;gap:.65rem;align-items:start}
.checkbox input{margin-top:.28rem;accent-color:var(--red)}
.form-status{min-height:1.4rem;color:#fff;font-weight:850}
.article-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:1rem}
.article-card{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--text)}
.article-card img{width:100%;aspect-ratio:16/9;object-fit:cover}
.article-card-copy{display:grid;gap:.65rem;padding:1.1rem}
.article-card p{color:var(--muted)}
.meta{display:flex;flex-wrap:wrap;gap:.65rem;color:var(--muted);font-size:.78rem}
.article-layout{display:grid;gap:2rem}
.article-content{max-width:780px}
.article-content>*+*{margin-top:1rem}
.article-content h2{margin-top:2.4rem;font-size:clamp(1.9rem,3vw,2.8rem);text-transform:none}
.article-content h3{margin-top:1.7rem;font-family:var(--font);font-size:1.35rem}
.article-content ul,.article-content ol{padding-left:1.3rem}
.article-content li+li{margin-top:.4rem}
.article-content blockquote{padding:1rem 1.1rem;border-left:4px solid var(--red);background:rgba(255,255,255,.06)}
.article-aside{display:grid;gap:1rem;align-content:start}
.aside-box{padding:1rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}
.filterbar{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.4rem}
.filter{min-height:44px;padding:.55rem .82rem;border:1px solid var(--line);border-radius:999px;background:transparent;color:#fff;font-weight:850}
.filter[aria-pressed=true],.filter:hover{background:var(--red);border-color:var(--red)}
.cta{display:grid;gap:1.2rem;align-items:center;padding:clamp(1.35rem,4vw,2.6rem);border-radius:var(--radius-lg);background:linear-gradient(125deg,var(--red),var(--red-dark));color:#fff;box-shadow:var(--shadow)}
.site-footer{padding-block:3.5rem 5.5rem;border-top:1px solid var(--line);background:#020202}
.footer-grid{display:grid;gap:2rem}
.footer-logo{width:210px}
.footer-copy{max-width:34rem;margin-top:1rem;color:var(--muted)}
.footer-links h2{font:900 .78rem/1 var(--font);letter-spacing:.15em;text-transform:uppercase}
.footer-links ul{list-style:none;margin:.8rem 0 0;padding:0;display:grid;gap:.4rem}
.footer-links a{color:var(--muted);text-decoration:none}
.footer-links a:hover{color:#fff}
.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-top:2rem;padding-top:1.2rem;border-top:1px solid var(--line);color:#8c8c92;font-size:.76rem}
.mobile-cta{position:fixed;z-index:900;left:.65rem;right:.65rem;bottom:.65rem;display:grid;grid-template-columns:1fr 1fr;gap:.45rem;padding:.5rem;border:1px solid rgba(255,255,255,.18);border-radius:1rem;background:rgba(6,6,7,.94);backdrop-filter:blur(14px);box-shadow:0 15px 50px rgba(0,0,0,.5);opacity:0;pointer-events:none;transform:translateY(calc(100% + 1.5rem));transition:opacity .2s ease,transform .2s ease}
.mobile-cta.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}
.mobile-cta a{display:flex;min-height:48px;align-items:center;justify-content:center;border-radius:.7rem;font-weight:900;text-decoration:none}
.mobile-cta a:first-child{background:var(--red);color:#fff}
.mobile-cta a:last-child{border:1px solid var(--line);color:#fff}
.legal h2{margin-top:2rem;font-family:var(--font);font-size:1.55rem;text-transform:none}
.legal p,.legal ul{margin-top:.75rem}
.legal ul{padding-left:1.2rem}
.error-page{min-height:calc(100svh - var(--header));display:grid;place-items:center;text-align:center;padding:3rem 1rem}
.error-code{font:900 clamp(7rem,20vw,15rem)/.8 var(--display);color:var(--red)}
@media(min-width:40rem){.trust-bar{grid-template-columns:repeat(4,minmax(0,1fr))}.trust{border-bottom:0}.trust:nth-child(2n){border-right:1px solid var(--line)}.trust:last-child{border-right:0}.pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.review-strip{grid-template-columns:auto 1fr}.footer-grid{grid-template-columns:1.35fr 1fr 1fr}.cta{grid-template-columns:1.25fr auto}}
@media(min-width:58rem){.menu-toggle,.mobile-nav{display:none!important}.nav-links{display:flex}.hero-grid{grid-template-columns:minmax(0,.92fr) minmax(25rem,1.08fr)}.page-hero-grid,.split{grid-template-columns:minmax(0,1fr) minmax(23rem,.88fr)}.section-head--split{grid-template-columns:1fr minmax(18rem,.7fr)}.pricing-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.article-layout{grid-template-columns:minmax(0,1fr) 18rem}.article-aside{position:sticky;top:calc(var(--header) + 1rem)}.form-layout{grid-template-columns:minmax(0,.85fr) minmax(24rem,1.15fr)}.mobile-cta{display:none}.site-footer{padding-bottom:1.5rem}}
@media(max-width:67rem) and (min-width:58rem){.brand img{width:154px}.nav-links>li>a,.nav-dropdown>summary{padding-inline:.48rem;font-size:.76rem}.nav-cta{padding-inline:.75rem!important}}
@media(max-width:57.99rem){:root{--header:74px}.brand img{width:160px}.hero-media,.media{order:-1}.hero{padding-top:1.5rem}.page-hero{padding-top:1.2rem}.site-footer{padding-bottom:6rem}}
@media(max-width:39.99rem){.container,.reading{width:min(calc(100% - 1.2rem),var(--container))}h1,.page-hero h1{font-size:clamp(2.05rem,9.8vw,2.55rem);max-width:none}.hero{padding-bottom:3.5rem}.hero-media,.media{border-radius:1rem}.hero-badge{position:static;border-radius:0;background:#0b0b0d}.trust{padding:.8rem}.trust strong{font-size:1.55rem}.pricing-grid{grid-template-columns:1fr}.staff-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.staff-copy h3{font-size:1rem}.staff-copy p{font-size:.78rem}.data-table{min-width:560px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.nav-services{position:relative;display:flex;align-items:center}
.nav-services-link{display:flex;min-height:44px;align-items:center;padding:.6rem .5rem .6rem .72rem;border-radius:.68rem 0 0 .68rem;text-decoration:none;font-weight:850;font-size:.83rem}
.nav-services-toggle{width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:0 .68rem .68rem 0;background:transparent;color:#fff}
.nav-services-link:hover,.nav-services-link[aria-current=page],.nav-services-toggle:hover,.nav-services-toggle[aria-expanded=true]{background:var(--surface-3)}
.nav-services .dropdown-menu{top:calc(100% + .55rem)}
.dropdown-menu[hidden],.mobile-services-menu[hidden]{display:none!important}
.mobile-services-row{display:grid;grid-template-columns:1fr 48px;align-items:center}
.mobile-services-link{display:flex;min-height:48px;align-items:center;padding:.7rem .8rem;border-radius:.65rem;text-decoration:none;font-weight:850}
.mobile-services-toggle{width:48px;height:48px;border:0;border-radius:.65rem;background:transparent;color:#fff;font-size:1.35rem}
.mobile-services-link:hover,.mobile-services-toggle:hover{background:var(--surface-2)}
.mobile-services-menu{display:grid;gap:.2rem;padding:.25rem 0 .6rem 1rem}
.mobile-services-menu a{min-height:44px;display:flex;align-items:center;padding:.55rem .75rem;border-left:2px solid var(--red);text-decoration:none;color:var(--muted)}
.trust-bar--three{grid-template-columns:1fr}
.trust-bar--three .trust{border-right:0;border-bottom:1px solid var(--line)}
.trust-bar--three .trust:last-child{border-bottom:0}
.service-ticker{width:100%;overflow:hidden;background:var(--red);color:#fff;border-block:1px solid rgba(255,255,255,.28)}
.ticker-track{display:flex;width:max-content;animation:ticker 34s linear infinite}
.service-ticker:hover .ticker-track{animation-play-state:paused}
.ticker-item{flex:none;padding:.72rem 2rem;font-weight:950;letter-spacing:.075em;white-space:nowrap;font-size:.84rem}
.ticker-item:after{content:" • ";margin-left:2rem}
@keyframes ticker{to{transform:translateX(-50%)}}
.service-macro-grid{display:grid;gap:1rem}
.service-macro-card{display:grid;grid-template-columns:1fr;overflow:hidden;border:1px solid var(--line-dark);border-radius:var(--radius-lg);background:#fff;color:var(--ink);box-shadow:0 16px 42px rgba(0,0,0,.08)}
.service-macro-card>img{width:100%;height:100%;min-height:230px;object-fit:cover}
.service-macro-card>div{display:grid;align-content:start;gap:.7rem;padding:1.35rem}
.service-macro-card p{color:var(--ink-muted)}
.service-macro-card--accent{background:#111113;color:#fff;border-color:var(--red)}
.service-macro-card--accent p{color:var(--muted)}
.service-detail-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
.course-mini-grid{display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr))}
.course-mini{display:grid;gap:.18rem;padding:1rem;border:1px solid var(--line-dark);border-radius:var(--radius);background:#fff;color:var(--ink);text-decoration:none}
.course-mini:hover{border-color:var(--red)}
.course-mini span{color:var(--ink-muted);font-size:.85rem}
.service-compare{min-width:620px}
.staff-showcase{display:grid;gap:2rem;align-items:start}
.staff-showcase-copy{display:grid;gap:1rem;align-content:start}
.staff-rail-wrap{min-width:0}
.staff-rail{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;padding:.15rem .15rem 1rem}
.staff-rail .staff-card{flex:0 0 min(72vw,315px);scroll-snap-align:start}
.staff-controls{display:flex;justify-content:flex-end;gap:.55rem}
.staff-controls button{width:48px;height:48px;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:#fff;font-size:1.2rem}
.staff-controls button:hover{background:var(--red)}
.pricing-preview{display:grid;gap:1rem}
.pricing-preview-card{display:grid;gap:.7rem;padding:1.35rem;border:1px solid var(--line-dark);border-radius:var(--radius-lg);background:#fff;color:var(--ink);box-shadow:0 12px 36px rgba(0,0,0,.07)}
.pricing-preview-card p{color:var(--ink-muted)}
.pricing-preview-card--h24{background:#111113;color:#fff;border-color:var(--red);transform:none}
.pricing-preview-card--h24 p{color:var(--muted)}
.hours-summary{display:grid;gap:1rem}
.hours-summary>article{display:grid;align-content:start;gap:.7rem;padding:1.4rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);color:#fff}
.section--paper .hours-summary>article{border-color:var(--line-dark);background:#fff;color:var(--ink);box-shadow:0 12px 36px rgba(0,0,0,.07)}
.hours-summary p{color:var(--muted)}
.section--paper .hours-summary p{color:var(--ink-muted)}
.hours-summary--accent{border-color:var(--red)!important;background:linear-gradient(135deg,#1b0a0b,#101012)!important;color:#fff!important}
.hours-summary--accent p{color:var(--muted)!important}
.reviews-section{min-height:22rem}
.trustindex-widget-slot{min-height:8rem;border:1px dashed rgba(17,17,20,.24);border-radius:var(--radius-lg);background:rgba(255,255,255,.42)}
.course-grid{display:grid;gap:1rem}
.course-card{display:grid;overflow:hidden;border:1px solid var(--line-dark);border-radius:var(--radius-lg);background:#fff;color:var(--ink);box-shadow:0 14px 38px rgba(0,0,0,.08)}
.course-card img{width:100%;aspect-ratio:16/10;object-fit:cover}
.course-card-copy{display:grid;gap:.75rem;padding:1.35rem}
.course-card-copy p{color:var(--ink-muted)}
.pricing-featured{display:grid;gap:1rem;margin-bottom:1rem}
.pricing-featured .price-card:first-child{background:linear-gradient(145deg,#17171a,#070708);border-color:var(--red)}
.pricing-compact-grid,.h24-price-grid,.package-grid{display:grid;gap:1rem}
.price-card--compact{padding:1.1rem}
.price-card--compact .price{font-size:clamp(2.25rem,4vw,3.2rem)}
.plan-badge{display:inline-flex;width:max-content;max-width:100%;padding:.34rem .64rem;border-radius:999px;background:var(--red);color:#fff!important;font-size:.73rem;font-weight:900}
.section--paper .price-card{background:#111113;color:#fff;border-color:rgba(255,255,255,.16);box-shadow:0 15px 40px rgba(0,0,0,.14)}
.section--paper .price-card p,.section--paper .price-card .meta-line{color:#d0d0d5}
.section--paper .price-card .price{color:#fff}
.h24-price-grid .price-card--featured{background:linear-gradient(145deg,#1d090b,#0c0c0e)}
.hours-table caption{padding:1rem;text-align:left;color:var(--ink-muted)}
.crowd-guide{display:grid;gap:.75rem;max-width:850px}
.crowd-row{display:grid;grid-template-columns:6.2rem minmax(0,1fr) 4.5rem;gap:.8rem;align-items:center}
.crowd-row>span{font-weight:850}
.crowd-row>strong{font-size:.82rem;text-align:right}
.crowd-bar{height:.46rem;border-radius:999px;background:#dedbd5;overflow:hidden}
.crowd-bar i{display:block;width:var(--crowd);height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--red),var(--red-soft))}
.contact-methods{display:grid;gap:1rem}
.contact-method{display:grid;gap:.65rem;padding:1.35rem;border:1px solid var(--line-dark);border-radius:var(--radius-lg);background:#fff;color:var(--ink);box-shadow:0 12px 36px rgba(0,0,0,.07)}
.contact-method h2{font-family:var(--font);font-size:clamp(1.25rem,2.4vw,1.8rem);text-transform:none;letter-spacing:-.02em}
.contact-method h2 a{overflow-wrap:normal;word-break:normal}
.contact-method p{color:var(--ink-muted)}
.contact-method--accent{background:#111113;color:#fff;border-color:var(--red)}
.contact-method--accent p{color:var(--muted)}
.location-panel{display:grid;gap:2rem;align-items:center}
.company-line{margin-top:1.4rem;padding-top:1rem;border-top:1px solid var(--line-dark);color:var(--ink-muted);font-size:.78rem}
.visit-focus{background:radial-gradient(circle at 85% 20%,rgba(212,20,28,.18),transparent 35%),#050505}
@media(min-width:40rem){.trust-bar--three{grid-template-columns:repeat(3,minmax(0,1fr))}.trust-bar--three .trust{border-bottom:0;border-right:1px solid var(--line)}.trust-bar--three .trust:last-child{border-right:0}.course-grid,.service-macro-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pricing-preview,.contact-methods{grid-template-columns:repeat(3,minmax(0,1fr))}.pricing-featured{grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr)}.pricing-compact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.h24-price-grid,.package-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hours-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.location-panel{grid-template-columns:minmax(0,.85fr) minmax(20rem,1.15fr)}}
@media(min-width:58rem){.service-macro-card{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}.staff-showcase{grid-template-columns:minmax(17rem,.7fr) minmax(0,1.3fr)}.staff-rail .staff-card{flex-basis:calc(50% - .5rem)}.pricing-compact-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pricing-featured .price-card:first-child{padding:1.75rem}.pricing-featured .price-card:first-child .price{font-size:clamp(4rem,6vw,5.7rem)}.hours-summary:has(>article:nth-child(3)){grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:67rem) and (min-width:58rem){.nav-services-link,.nav-services-toggle,.nav-links>li>a{font-size:.72rem;padding-inline:.38rem}.nav-services-toggle{width:38px}.nav-cta{padding-inline:.65rem!important}}
@media(max-width:39.99rem){.course-mini-grid{grid-template-columns:1fr}.crowd-row{grid-template-columns:5.3rem minmax(0,1fr) 3.8rem;gap:.55rem}.contact-method h2 a{font-size:1.08rem}.staff-rail .staff-card{flex-basis:82vw}.trustindex-widget-slot{min-height:5rem}.service-macro-card>img{min-height:190px}}
@media(prefers-reduced-motion:reduce){.ticker-track{animation:none;transform:none}.service-ticker{overflow-x:auto}.staff-rail{scroll-behavior:auto}}
.plan-equivalent{font-weight:850;color:#d0d0d5!important}
.service-macro-card--accent .eyebrow,.pricing-preview-card--h24 .eyebrow,.hours-summary--accent .eyebrow,.contact-method--accent .eyebrow{color:#ff6970}
.service-story-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1rem}
.service-story{position:relative;min-height:29rem;overflow:hidden;border-radius:1.5rem;background:#121214;border:1px solid #2d2d31;color:#fff;grid-column:span 5}
.service-story--wide{grid-column:span 7}
.service-story picture,.service-story img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.service-story:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.04) 18%,rgba(0,0,0,.88) 83%)}
.service-story-copy{position:absolute;z-index:1;left:0;right:0;bottom:0;padding:2rem;max-width:42rem}
.service-story-copy p{color:#d2d2d6}
.service-story--accent{border-color:#ed1c24}
.service-story--portrait{min-height:34rem}
.service-story .cluster{margin-top:.8rem}
.value-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,6vw,6rem);align-items:start}
.value-list{list-style:none;margin:0;padding:0;border-top:1px solid #2d2d31}
.value-list li{display:grid;grid-template-columns:4.5rem 1fr;gap:1.25rem;padding:1.55rem 0;border-bottom:1px solid #2d2d31}
.value-list>li>span{font-family:var(--font-display);font-size:1.45rem;color:var(--red)}
.value-list h3{font-size:clamp(1.6rem,3vw,2.35rem);margin:0 0 .35rem}
.value-list p{margin:0;color:var(--muted)}
.staff-directory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.staff-card{display:grid;grid-template-columns:10rem minmax(0,1fr);min-width:0;min-height:14rem;overflow:hidden;border:1px solid #303036;border-radius:1.25rem;background:#141416;color:#fff}
.staff-photo{min-height:14rem}
.staff-photo img{width:100%;height:100%;object-fit:cover}
.staff-copy{padding:1.4rem;align-self:center}
.staff-kicker{display:block;margin-bottom:.8rem;font-size:.75rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
.staff-copy h3{font-size:clamp(1.6rem,2.5vw,2.3rem);margin-bottom:.4rem}
.staff-copy p{margin:0;color:#c8c8cd}
.staff-rail{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 1rem)/2);gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:.25rem}
.staff-rail::-webkit-scrollbar{display:none}
.staff-rail .staff-card{scroll-snap-align:start}
.staff-controls{display:flex;align-items:center;justify-content:flex-end;gap:.8rem;margin-top:1rem}
.staff-controls span{margin-right:auto;color:var(--muted);font-size:.9rem}
.staff-controls button{width:3rem;height:3rem;border:1px solid #444;border-radius:50%;background:transparent;color:inherit;font-size:1.3rem;cursor:pointer}
.price-entry-list{border-top:1px solid #313136}
.price-entry-list>a{display:grid;grid-template-columns:4.5rem 1fr auto;gap:1.2rem;align-items:center;padding:1.5rem 0;border-bottom:1px solid #313136;color:inherit;text-decoration:none}
.price-entry-index{font-family:var(--font-display);font-size:1.4rem;color:var(--red)}
.price-entry-list strong{display:block;font-family:var(--font-display);font-size:clamp(1.7rem,3vw,2.5rem)}
.price-entry-list small{display:block;margin-top:.2rem;color:var(--muted);font-size:1rem}
.price-entry-list b{font-size:1rem}
.home-hours{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:1rem}
.home-hours>div{padding:clamp(1.8rem,4vw,3rem);border-radius:1.5rem;background:#fff;border:1px solid #dedede}
.home-hours-h24{background:#141416!important;color:#fff;border-color:#303036!important}
.home-hours-h24>span{display:block;font-family:var(--font-display);font-size:clamp(4rem,9vw,7rem);line-height:.8;color:var(--red);margin-bottom:1.5rem}
.home-hours-h24 p{color:#c9c9ce}
.trustindex-widget-slot{min-height:15rem;display:grid;place-items:center;border:1px dashed #59595f;border-radius:1.5rem;background:#111113}
.trustindex-placeholder{text-align:center;max-width:40rem;padding:2rem}
.trustindex-placeholder strong{display:block;font-family:var(--font-display);font-size:2rem;color:#fff}
.trustindex-placeholder span{display:block;margin-top:.5rem;color:#a9a9af}
.service-five-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1rem}
.service-five{grid-column:span 2;border-radius:1.4rem;overflow:hidden;background:#141416;color:#fff;border:1px solid #303036}
.service-five--wide{grid-column:span 3}
.service-five picture,.service-five img{width:100%;height:18rem;object-fit:cover}
.service-five>div{padding:1.5rem}
.service-five h3{font-size:clamp(1.7rem,3vw,2.4rem)}
.service-five p{color:#c9c9cd}
.service-five--accent{border-color:var(--red)}
.choice-matrix{border-top:1px solid #2e2e32}
.choice-matrix a{display:grid;grid-template-columns:1fr auto;gap:2rem;padding:1.5rem 0;border-bottom:1px solid #2e2e32;text-decoration:none;color:inherit}
.choice-matrix a span{color:var(--muted)}
.choice-matrix a strong{font-size:1.1rem}
.price-table{display:grid;gap:.65rem}
.price-row{display:grid;grid-template-columns:minmax(13rem,1.5fr) repeat(3,minmax(8rem,.8fr)) auto;gap:1rem;align-items:center;padding:1.1rem 1.2rem;border:1px solid #d7d7d7;border-radius:1rem;background:#fff}
.price-table--dark .price-row{background:#141416;color:#fff;border-color:#34343a}
.price-row-plan h3{font-size:clamp(1.6rem,2.5vw,2.2rem);margin:0}
.price-row-plan span:not(.price-row-badge){display:block;color:var(--muted);margin-top:.2rem}
.price-row small{display:block;color:var(--muted);margin-bottom:.2rem}
.price-row>div>strong{font-size:1.15rem}
.price-row-badge{display:inline-block;margin-bottom:.5rem;padding:.3rem .55rem;border-radius:999px;background:#ededed;color:#222;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.price-row-badge--red{background:var(--red);color:#fff}
.option-list,.package-list{border-top:1px solid #d7d7d7}
.option-row,.package-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:1.5rem;align-items:center;padding:1.4rem 0;border-bottom:1px solid #d7d7d7}
.option-row h3,.package-row h3{font-size:1.55rem;margin:0}
.option-row p,.package-row p{margin:.25rem 0 0;color:var(--muted)}
.option-row>strong,.package-row>strong{font-family:var(--font-display);font-size:2rem}
.package-row{grid-template-columns:auto minmax(0,1fr) auto auto}
.package-save{display:inline-block;padding:.35rem .65rem;background:#161618;color:#fff;border-radius:999px;font-weight:900;font-size:.8rem}
.promo-bands{display:grid;gap:1rem}
.promo-bands article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:1.5rem;align-items:center;padding:clamp(1.5rem,3vw,2.2rem);border-radius:1.25rem;background:#151517;color:#fff}
.promo-bands p{color:#c9c9ce}
.promo-number{font-family:var(--font-display);font-size:clamp(3rem,6vw,5rem);color:var(--red)}
.week-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));overflow:hidden;border:1px solid #d5d5d5;border-radius:1.25rem;background:#fff}
.week-strip article{min-height:9.5rem;padding:1rem;border-right:1px solid #ddd}
.week-strip article:last-child{border-right:0}
.week-strip span{display:block;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;font-weight:900;color:var(--red)}
.week-strip strong{display:block;margin-top:1.3rem;font-size:1rem;line-height:1.35}
.hours-editorial{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:1rem}
.hours-primary{padding:clamp(2rem,5vw,4rem);border-radius:1.5rem;background:#141416;color:#fff}
.hours-primary p{color:#c9c9ce}
.hours-links{display:grid;gap:1rem}
.hours-links a{display:flex;flex-direction:column;justify-content:center;padding:1.5rem;border:1px solid #303036;border-radius:1.25rem;color:inherit;text-decoration:none}
.hours-links span{color:var(--red);font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem}
.hours-links strong{font-size:1.35rem;margin:.35rem 0}
.hours-links small{color:var(--muted);font-size:.95rem}
.crowd-bands{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.crowd-bands article{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:start;padding:1.4rem;border:1px solid #d8d8d8;border-radius:1.1rem;background:#fff}
.crowd-dot{width:.85rem;height:.85rem;border-radius:50%;margin-top:.35rem}
.crowd-dot--low{background:#8e8e93}
.crowd-dot--mid{background:#de7a7e}
.crowd-dot--high{background:var(--red)}
.crowd-note{margin-top:1rem}
.contact-final-band{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:center;padding:clamp(2rem,5vw,4rem);border-radius:1.6rem;background:linear-gradient(135deg,#ed1c24,#a60008);color:#fff}
.contact-final-band p{color:#fff;opacity:.88}
.contact-final-actions{display:flex;gap:.7rem;flex-wrap:wrap}
.button--dark{background:#0e0e10;color:#fff}
.button--ghost{border:1px solid rgba(255,255,255,.55);color:#fff;background:transparent}
@media(max-width:1000px){.service-story{grid-column:span 6}.service-story--wide{grid-column:span 6}.value-layout,.home-hours,.hours-editorial{grid-template-columns:1fr}.service-five{grid-column:span 3}.service-five--wide{grid-column:span 3}.price-row{grid-template-columns:1fr 1fr}.price-row-plan{grid-column:1/-1}.price-row .button{grid-column:1/-1}.week-strip{display:flex;overflow-x:auto}.week-strip article{min-width:10.5rem}.staff-rail{grid-auto-columns:82%}.contact-final-band{grid-template-columns:1fr}.crowd-bands{grid-template-columns:1fr}}
@media(max-width:700px){.service-story-grid{grid-template-columns:1fr}.service-story,.service-story--wide{grid-column:auto;min-height:26rem}.service-five-grid{grid-template-columns:1fr}.service-five,.service-five--wide{grid-column:auto}.staff-directory{grid-template-columns:1fr}.staff-card{grid-template-columns:7.5rem minmax(0,1fr);min-height:12rem}.staff-photo{min-height:12rem}.staff-rail{grid-auto-columns:92%}.price-entry-list>a{grid-template-columns:3rem 1fr}.price-entry-list b{grid-column:2}.price-row{grid-template-columns:1fr 1fr}.option-row,.package-row{grid-template-columns:1fr auto}.option-row .text-link,.package-row .text-link{grid-column:1/-1}.package-save{grid-column:1/-1;width:max-content}.promo-bands article{grid-template-columns:1fr}.promo-number{font-size:3.5rem}.contact-methods{grid-template-columns:1fr}.contact-final-actions{flex-direction:column;align-items:stretch}}
.guide-list{border-top:1px solid #d7d7d7}
.guide-list a{display:grid;grid-template-columns:9rem 1fr auto;gap:1.5rem;align-items:center;padding:1.35rem 0;border-bottom:1px solid #d7d7d7;color:inherit;text-decoration:none}
.guide-list span{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;font-weight:900;color:var(--red)}
.guide-list strong{font-size:1.2rem}
.guide-list b{font-size:.95rem}
@media(max-width:700px){.guide-list a{grid-template-columns:1fr auto}.guide-list span{grid-column:1/-1}}
.service-story .eyebrow,.service-five .eyebrow,.staff-kicker,.value-list>li>span,.price-entry-index,.home-hours-h24>span{color:#ff646a}
.section--paper .staff-controls span{color:#53535a}
.staff-controls span{color:#d2d2d6}
.price-table:not(.price-table--dark) .price-row small,.price-table:not(.price-table--dark) .price-row-plan span:not(.price-row-badge){color:#53535a}
.price-table--dark .price-row small,.price-table--dark .price-row-plan span:not(.price-row-badge){color:#c9c9ce}
.price-row-badge{color:#222}
.price-row-badge--red{color:#fff}
.hours-links span{color:#ff646a}
.section--paper .option-row p,.section--paper .package-row p{color:#53535a}
body.page .entry-header,body.page .entry-title{display:none!important}
.entry-content,.site-content,.content-area,.site-main{max-width:none!important;margin:0!important;padding:0!important}
.entry-content>*,.wp-block-html{max-width:none!important;margin:0!important}
.wp-site-blocks{padding:0!important}
.site-header.blackout-header{display:block}
body > #wrapper > #header,
body > #wrapper > #footer,
body > #wrapper > #container > #content > article > header.header,
body > #wrapper > #container > #content > article > .entry-links {
  display: none !important;
}
body > #wrapper,
body > #wrapper > #container,
body > #wrapper > #container > #content,
body > #wrapper > #container > #content > article {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  border: 0;
}
.bg-skip-link {
  position: fixed;
  top: 8px;
  left: 8px;
  z-index: 999999;
  padding: 12px 16px;
  border-radius: 8px;
  background: #ffffff;
  color: #000000;
  font-weight: 800;
  line-height: 1.2;
  text-decoration: none;
  transform: translateY(-160%);
  transition: transform 0.2s ease;
}
.bg-skip-link:focus {
  transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
  .bg-skip-link {
    transition: none;
  }
}
:where(
  a,
  button,
  input,
  select,
  textarea,
  summary,
  [tabindex]:not([tabindex="-1"])
):focus-visible {
  outline: 3px solid #ffffff;
  outline-offset: 4px;
  box-shadow: 0 0 0 6px #e31b23;
}
.section--paper :where(
  a,
  button,
  input,
  select,
  textarea,
  summary,
  [tabindex]:not([tabindex="-1"])
):focus-visible {
  outline-color: #000000;
}
.nav-services-toggle,
.mobile-services-toggle,
.menu-toggle,
.staff-controls button {
  min-width: 44px;
  min-height: 44px;
}
.service-ticker:hover .ticker-track,
.service-ticker:focus-within .ticker-track {
  animation-play-state: paused;
}
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }

  .ticker-track {
    animation: none !important;
    transform: none !important;
  }
}
@media (max-width: 767px) {
  body {
    padding-bottom: 76px;
  }

  .site-footer {
    padding-bottom: 90px;
  }
}
.mobile-cta {
  transition:
    opacity 0.2s ease,
    transform 0.2s ease;
}
.mobile-cta.is-footer-visible {
  opacity: 0;
  pointer-events: none;
  transform: translateY(120%);
}
html,
body {
  margin: 0 !important;
  padding: 0 !important;
}
.wp-site-blocks {
  margin: 0 !important;
  padding: 0 !important;
}
.wp-site-blocks > * {
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}
.blackout-template-root,
.blackout-template-main,
.blackout-post-content,
.wp-block-post-content {
  width: 100% !important;
  max-width: none !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
.blackout-template-main > .wp-block-post-content {
  margin: 0 !important;
  padding: 0 !important;
}
body.home .hero {
  padding-top: clamp(54px, 6vw, 88px) !important;
}
@media (max-width: 767px) {
  body.home .hero {
    padding-top: 42px !important;
  }
}
:root {
  --blackout-header-height: 88px;
  --blackout-adminbar-height: 0px;
}
.site-header {
  top: 0;
  min-height: var(--blackout-header-height);
  overflow: visible !important;
}
.site-header > .container,
.site-header .header-inner,
.site-header .nav-inner {
  min-height: var(--blackout-header-height);
  overflow: visible !important;
}
.site-header img {
  display: block;
  width: auto;
  max-width: 100%;
  max-height: 120px;
  object-fit: contain;
}
body.admin-bar {
  --blackout-adminbar-height: 32px;
}
body.admin-bar .site-header {
  top: 32px !important;
}
@media (max-width: 782px) {
  body.admin-bar {
    --blackout-adminbar-height: 46px;
  }

  body.admin-bar .site-header {
    top: 46px !important;
  }
}
.mobile-nav,
[data-mobile-nav] {
  top: var(--blackout-header-height);
  max-height: calc(100dvh - var(--blackout-header-height));
}
body.admin-bar .mobile-nav,
body.admin-bar [data-mobile-nav] {
  top: calc(
    var(--blackout-header-height) +
    var(--blackout-adminbar-height)
  ) !important;

  max-height: calc(
    100dvh -
    var(--blackout-header-height) -
    var(--blackout-adminbar-height)
  );
}
html {
  scroll-padding-top: calc(
    var(--blackout-header-height) +
    var(--blackout-adminbar-height) +
    20px
  );
}
#content,
[id] {
  scroll-margin-top: calc(
    var(--blackout-header-height) +
    var(--blackout-adminbar-height) +
    20px
  );
}
.trustindex-motion-control {
  min-height: 44px;
  margin: 0 0 24px;
  padding: 10px 16px;
  border: 1px solid rgba(255, 255, 255, 0.32);
  border-radius: 999px;
  background: transparent;
  color: #ffffff;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}
.trustindex-motion-control:hover {
  background: rgba(255, 255, 255, 0.08);
}
.trustindex-motion-control:focus-visible {
  outline: 3px solid #ffffff;
  outline-offset: 4px;
  box-shadow: 0 0 0 6px #e31b23;
}
@media (prefers-reduced-motion: reduce) {
  .reviews-section .ti-reviews-container-wrapper {
    scroll-behavior: auto !important;
    transition: none !important;
    animation: none !important;
  }
}
#laura-chezzi .staff-photo img{object-position:50% 18%}
#danilo-campanelli .staff-photo img{object-position:50% 18%}
#chiara-stomaci .staff-photo img{object-position:50% 18%}
:root{--font-display:var(--display)}
.desktop-navigation{display:none}
.mobile-nav[hidden]{display:none!important}
.mobile-nav[data-open="true"]{display:grid!important}
@media(min-width:58rem){.desktop-navigation{display:block}.menu-toggle{display:none!important}}
.nav-links a[aria-current="page"],
.mobile-nav a[aria-current="page"]{background:var(--surface-3);color:#fff}
.staff-directory--portraits{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.staff-directory--portraits .staff-card{display:flex;flex-direction:column;min-height:0;border-radius:1.35rem;background:#141416}
.staff-directory--portraits .staff-photo{aspect-ratio:4/5;min-height:0;width:100%;overflow:hidden;background:#09090a}
.staff-directory--portraits .staff-copy{display:grid;align-content:start;min-height:10.5rem;padding:1.15rem}
.staff-directory--portraits .staff-copy h3{font-size:clamp(1.45rem,2vw,2rem)}
.staff-directory--portraits .staff-copy p{font-size:.92rem;line-height:1.55}
.staff-rail--portraits{grid-auto-columns:calc((100% - 1rem)/2)}
.staff-rail--portraits .staff-card{grid-template-columns:minmax(12rem,44%) minmax(0,1fr);min-height:19rem}
.staff-rail--portraits .staff-photo{aspect-ratio:auto;min-height:19rem}
.staff-card .staff-photo img{object-fit:cover;object-position:center 20%;transition:transform .25s ease}
.staff-card:hover .staff-photo img{transform:scale(1.025)}
#filippo-rizzello .staff-photo img{object-position:28% 24%}
#laura-chezzi .staff-photo img{object-position:70% 18%}
#luana-stefano .staff-photo img{object-position:85% 20%}
#danilo-campanelli .staff-photo img{object-position:70% 18%}
#vincenzo-rinaldi .staff-photo img{object-position:38% 18%}
#francesca-palermo .staff-photo img{object-position:50% 16%}
#chiara-stomaci .staff-photo img{object-position:70% 18%}
#gianluca-ruffo .staff-photo img{object-position:50% 16%}
.staff-controls button[disabled]{opacity:.35;cursor:not-allowed}
.contact-hero--compact{padding-bottom:clamp(2.5rem,5vw,4.5rem)}
.contact-hero-media{aspect-ratio:1200/630;max-height:31rem}
.contact-methods--four{grid-template-columns:repeat(4,minmax(0,1fr))}
.contact-method{min-width:0;align-content:start}
.contact-method h2{line-height:1.15}
.contact-method h2 a{display:inline;overflow-wrap:anywhere;text-decoration-thickness:2px;text-underline-offset:.16em}
.contact-method .contact-email{font-size:clamp(1.05rem,1.75vw,1.45rem)}
.location-panel--contact{grid-template-columns:minmax(0,.92fr) minmax(24rem,1.08fr)}
.location-copy{display:grid;gap:1rem}
.contact-facts{display:grid;gap:0;margin:1rem 0 1.25rem;border-top:1px solid var(--line)}
.contact-facts>div{display:grid;grid-template-columns:8rem 1fr;gap:1rem;padding:.82rem 0;border-bottom:1px solid var(--line)}
.contact-facts dt{font-weight:900;color:#fff}
.contact-facts dd{margin:0;color:var(--muted)}
.contact-hours-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden;border:1px solid var(--line-dark);border-radius:1.25rem;background:#fff}
.contact-hours-strip>div{display:grid;gap:.25rem;padding:1.2rem;border-right:1px solid var(--line-dark)}
.contact-hours-strip>div:last-child{border-right:0}
.contact-hours-strip strong{color:var(--ink)}
.contact-hours-strip span{color:var(--ink-muted)}
.footer-social{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1rem}
.footer-social a{display:inline-flex;min-height:44px;align-items:center;padding:.55rem .8rem;border:1px solid var(--line);border-radius:999px;color:#fff;text-decoration:none;font-weight:800}
.footer-social a:hover{border-color:var(--red);background:var(--red)}
.hero-media img,.media img,.service-story img,.course-card img,.article-card img{object-fit:cover}
.reviews-section .trustindex-widget-slot,
.reviews-section .ti-widget{min-height:16rem}
.reviews-section .ti-widget{color:#fff}
.reviews-section .ti-review-item,.reviews-section .ti-inner{border-radius:1rem!important}
.reviews-section .ti-date{color:#b9b9be!important}
.reviews-section .ti-next,.reviews-section .ti-prev{min-width:44px;min-height:44px}
.trustindex-motion-control{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:46px;margin:0 0 1.25rem;padding:.68rem 1rem;border:1px solid rgba(255,255,255,.38);border-radius:999px;background:#111113;color:#fff;font-weight:900}
.trustindex-motion-control:hover{background:#242428}
.trustindex-status{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:1100px){
  .staff-directory--portraits{grid-template-columns:repeat(3,minmax(0,1fr))}
  .contact-methods--four{grid-template-columns:repeat(2,minmax(0,1fr))}
  .location-panel--contact{grid-template-columns:1fr}
  .contact-hours-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .contact-hours-strip>div:nth-child(2){border-right:0}
  .contact-hours-strip>div:nth-child(-n/**/+2){border-bottom:1px solid var(--line-dark)}
}
@media(max-width:760px){
  .staff-directory--portraits{grid-template-columns:repeat(2,minmax(0,1fr))}
  .staff-directory--portraits .staff-copy{min-height:11.5rem}
  .staff-rail--portraits{grid-auto-columns:88%}
  .staff-rail--portraits .staff-card{grid-template-columns:42% minmax(0,1fr);min-height:17rem}
  .staff-rail--portraits .staff-photo{min-height:17rem}
  .contact-methods--four,.contact-hours-strip{grid-template-columns:1fr}
  .contact-hours-strip>div{border-right:0;border-bottom:1px solid var(--line-dark)}
  .contact-hours-strip>div:last-child{border-bottom:0}
  .contact-facts>div{grid-template-columns:1fr;gap:.15rem}
}
@media(max-width:480px){
  .staff-directory--portraits{grid-template-columns:1fr}
  .staff-directory--portraits .staff-card{display:grid;grid-template-columns:8rem minmax(0,1fr)}
  .staff-directory--portraits .staff-photo{aspect-ratio:auto;min-height:13rem}
  .staff-directory--portraits .staff-copy{min-height:0;align-self:center}
  .staff-rail--portraits{grid-auto-columns:94%}
  .staff-rail--portraits .staff-card{grid-template-columns:8rem minmax(0,1fr);min-height:14rem}
  .staff-rail--portraits .staff-photo{min-height:14rem}
}
@media(prefers-reduced-motion:reduce){.staff-card:hover .staff-photo img{transform:none}}
@media (min-width:58rem){
  .section-head--split > a.text-link,
  .section-head--split > a.button,
  .section-head--split > .section-head-action,
  .section-head--split > .cluster {
    justify-self:end;
    align-self:end;
    text-align:right;
  }
}
@media (max-width:57.99rem){
  .section-head--split > a.text-link,
  .section-head--split > a.button,
  .section-head--split > .section-head-action,
  .section-head--split > .cluster {
    justify-self:start;
    text-align:left;
  }
}
.pricing-requirement{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:.35rem 1rem;
  align-items:start;
  margin:0 0 2.5rem;
  padding:1rem 1.1rem;
  border:1px solid rgba(20,20,24,.18);
  border-left:4px solid var(--red);
  border-radius:0 1rem 1rem 0;
  background:#fff;
  color:var(--ink);
}
.pricing-requirement strong{white-space:nowrap}
.pricing-requirement p{color:var(--ink-muted)}
.price-table--expandable .price-row--expandable{
  grid-template-columns:minmax(13rem,1.55fr) minmax(8rem,.7fr) minmax(9rem,.8fr) auto;
}
.price-row--featured{
  border-color:var(--red);
  box-shadow:0 0 0 1px rgba(212,20,28,.2),0 16px 40px rgba(0,0,0,.1);
}
.plan-info{
  grid-column:1/-1;
  margin-top:.15rem;
  border-top:1px solid #dedede;
}
.plan-info summary{
  position:relative;
  min-height:46px;
  display:flex;
  align-items:center;
  padding:.8rem 2.7rem .8rem 0;
  list-style:none;
  cursor:pointer;
  font-weight:900;
  color:var(--ink);
}
.plan-info summary::-webkit-details-marker{display:none}
.plan-info summary::after{
  content:"+";
  position:absolute;
  right:.2rem;
  top:50%;
  width:2rem;
  height:2rem;
  display:grid;
  place-items:center;
  border:1px solid #bbb;
  border-radius:50%;
  transform:translateY(-50%);
  font-size:1.2rem;
  line-height:1;
}
.plan-info[open] summary::after{content:"−"}
.plan-info-content{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.8rem 1.5rem;
  padding:0 0 1rem;
  color:var(--ink-muted);
}
.plan-info-content p{margin:0}
.medical-disclaimer{
  margin-top:1rem;
  padding:.85rem 1rem;
  border-radius:.85rem;
  background:#171719;
  color:#d6d6da;
  font-size:.9rem;
}
.medical-disclaimer strong{color:#fff}
.option-list--conversion .option-row{
  grid-template-columns:minmax(0,1fr) auto minmax(10rem,auto);
  align-items:center;
  gap:1.4rem;
}
.option-benefits{
  display:flex;
  flex-wrap:wrap;
  gap:.4rem .7rem;
  margin:.8rem 0 0;
  padding:0;
  list-style:none;
}
.option-benefits li{
  padding:.35rem .6rem;
  border-radius:999px;
  background:#e9e7e2;
  color:#303036;
  font-size:.78rem;
  font-weight:750;
}
.form-layout--visit{gap:clamp(2rem,5vw,4rem)}
.visit-form-copy{min-width:0}
.form-card--visit{padding:clamp(1.35rem,3vw,2rem)}
.form-card-heading{display:grid;gap:.65rem;padding-bottom:.4rem;border-bottom:1px solid var(--line)}
.form-card-heading h2{font-size:clamp(2rem,3.6vw,3.2rem)}
.form-grid--visit > .field{grid-template-rows:auto minmax(52px,auto) minmax(1.25rem,auto)}
.form-grid--visit select,.form-grid--visit input{min-height:52px}
.field-help{min-height:1.25rem;color:#bfc0c6;font-size:.78rem;line-height:1.35}
.button--full{width:100%}
.visit-after-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.visit-after-grid article{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:1rem;
  padding:1.35rem;
  border:1px solid var(--line-dark);
  border-radius:1.2rem;
  background:#fff;
  color:var(--ink);
  box-shadow:0 12px 34px rgba(0,0,0,.07);
}
.visit-after-grid article>span{font:900 1.35rem/1 var(--display);color:var(--red)}
.visit-after-grid h3{font-size:1.25rem}
.visit-after-grid p{margin-top:.4rem;color:var(--ink-muted)}
.site-footer{padding-block:4rem 1.5rem}
.footer-grid--enhanced{display:grid;gap:2rem;align-items:start}
.footer-brand{min-width:0}
.footer-logo{width:min(230px,100%);height:auto}
.footer-social{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.2rem}
.social-button{
  min-height:46px;
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  padding:.65rem .9rem;
  border:1px solid rgba(255,255,255,.28);
  border-radius:999px;
  background:#121214;
  color:#fff;
  text-decoration:none;
  font-weight:850;
}
.social-button svg{width:1.15rem;height:1.15rem;flex:none}
.social-button:hover{border-color:var(--red);background:var(--red)}
.footer-contact h2,.footer-links h2{margin:0 0 .95rem;font:900 .78rem/1.2 var(--font);letter-spacing:.15em;text-transform:uppercase;color:#fff}
.footer-contact address{margin:0 0 1rem;color:var(--muted);font-style:normal}
.footer-contact ul{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}
.footer-contact a:not(.button){color:var(--muted);text-decoration:none}
.footer-contact a:not(.button):hover{color:#fff}
.footer-visit-button{margin-top:1.25rem;width:100%}
.footer-bottom{align-items:center}
@media (min-width:58rem){
  .footer-grid--enhanced{grid-template-columns:minmax(0,1.35fr) minmax(9rem,.55fr) minmax(9rem,.6fr) minmax(15rem,.9fr)}
}
@media (min-width:40rem) and (max-width:57.99rem){
  .footer-grid--enhanced{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:39.99rem){
  .footer-grid--enhanced{grid-template-columns:1fr}
  .footer-bottom{display:grid;justify-content:start}
}
.trustindex-motion-control{display:none!important}
.reviews-section .ti-reviews-container-wrapper,
.reviews-section .ti-widget,
.reviews-section .ti-widget-container{
  animation:none!important;
}
@media (max-width:1000px){
  .price-table--expandable .price-row--expandable{grid-template-columns:1fr 1fr}
  .price-row--expandable .price-row-plan{grid-column:1/-1}
  .price-row--expandable > .button{grid-column:1/-1}
  .plan-info-content{grid-template-columns:1fr}
  .option-list--conversion .option-row{grid-template-columns:1fr auto}
  .option-list--conversion .option-row .text-link{grid-column:1/-1}
}
@media (max-width:700px){
  .pricing-requirement{grid-template-columns:1fr}
  .pricing-requirement strong{white-space:normal}
  .visit-after-grid{grid-template-columns:1fr}
  .option-list--conversion .option-row{grid-template-columns:1fr}
  .option-list--conversion .option-row>strong{font-size:2.2rem}
  .option-list--conversion .option-row .text-link{grid-column:auto}
}
.answer-block{max-width:68ch;padding-left:1rem;border-left:4px solid var(--red);color:var(--muted)}
.section--paper .answer-block{color:var(--ink-muted)}
.section-head--split .section-head-action{display:flex;align-items:flex-end;justify-content:flex-end;text-align:right}
.check-list{display:grid;gap:.65rem;margin:1.2rem 0 0;padding:0;list-style:none}
.check-list li{position:relative;padding-left:1.7rem}
.check-list li:before{content:"✓";position:absolute;left:0;color:var(--red);font-weight:950}
.comparison-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.comparison-card{padding:1.35rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}
.comparison-card p{margin-top:.55rem;color:var(--muted)}
.section--paper .comparison-card{background:#fff;color:var(--ink);border-color:var(--line-dark)}
.section--paper .comparison-card p{color:var(--ink-muted)}
.process--six{grid-template-columns:repeat(2,minmax(0,1fr))}
.process--six .process-item{min-height:12rem}
.course-practical{display:grid;gap:.65rem}
.course-practical h3:not(:first-child){margin-top:1rem}
.course-hero-media img{object-position:center 30%}
.staff-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.staff-profile{display:grid;grid-template-columns:minmax(12rem,.85fr) minmax(0,1.15fr);overflow:hidden;min-height:22rem;border:1px solid #303036;border-radius:1.35rem;background:#141416;color:#fff}
.staff-profile-photo{min-height:22rem;overflow:hidden;background:#0d0d0f}
.staff-profile-photo img{width:100%;height:100%;object-fit:cover}
.staff-focus--left img{object-position:28% 22%}
.staff-focus--center img{object-position:50% 22%}
.staff-focus--top img{object-position:50% 12%}
.staff-profile-copy{display:grid;align-content:center;padding:1.5rem}
.staff-profile-copy p{color:#c8c8cd}
.staff-profile-copy h3{font-size:clamp(1.65rem,3vw,2.5rem)}
.contact-methods--balanced .contact-method{min-height:17rem}
.contact-address{margin-top:1rem;font-style:normal;font-size:1.08rem}
.contact-address strong{font-size:1.2rem}
.video-frame{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-lg);background:#080809;box-shadow:var(--shadow)}
.video-frame video{display:block;width:100%;max-height:75vh;background:#000}
.video-frame figcaption{padding:.85rem 1rem;color:var(--muted);font-size:.84rem}
.video-preview-card{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(18rem,.75fr);gap:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface)}
.video-preview-media{position:relative;display:block;min-height:22rem;overflow:hidden}
.video-preview-media img{width:100%;height:100%;object-fit:cover}
.video-preview-card>div{display:grid;align-content:center;gap:.8rem;padding:clamp(1.4rem,4vw,2.5rem)}
.video-play{position:absolute;left:50%;top:50%;display:grid;width:4.5rem;height:4.5rem;place-items:center;transform:translate(-50%,-50%);border:2px solid #fff;border-radius:50%;background:rgba(0,0,0,.62);color:#fff;font-size:1.5rem;box-shadow:0 12px 40px rgba(0,0,0,.35)}
.checklist-box{display:grid;gap:.7rem;padding:1.1rem;border:1px solid var(--line-dark);border-radius:var(--radius);background:#fff;color:var(--ink)}
.checklist-box label{display:flex;gap:.7rem;align-items:flex-start}
.checklist-box input{margin-top:.3rem;accent-color:var(--red)}
.trustindex-widget-slot{min-height:15rem;display:grid;place-items:center}
.trustindex-placeholder{max-width:42rem;text-align:center}
.trustindex-placeholder strong{display:block;font-family:var(--display);font-size:clamp(1.8rem,4vw,3rem)}
@media(max-width:900px){.process--six,.comparison-grid,.staff-profile-grid{grid-template-columns:1fr}.staff-profile{grid-template-columns:minmax(9rem,.72fr) minmax(0,1.28fr);min-height:17rem}.staff-profile-photo{min-height:17rem}.video-preview-card{grid-template-columns:1fr}.video-preview-media{min-height:18rem}.section-head--split .section-head-action{justify-content:flex-start;text-align:left}}
@media(max-width:600px){.staff-profile{grid-template-columns:1fr}.staff-profile-photo{min-height:22rem;aspect-ratio:4/5}.staff-profile-copy{padding:1.2rem}.comparison-grid{grid-template-columns:1fr}.process--six{grid-template-columns:1fr}.section-head--split .section-head-action{align-items:flex-start}}
@media (max-width: 57.99rem) {

  :root {
    --header: 88px;
    --blackout-header-height: 88px;
    --blackout-adminbar-height: 0px;
  }

  /* Elimina il margine superiore inserito da WordPress */
  html:root {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  body,
  body.admin-bar {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  /* Header realmente attaccato alla parte superiore */
  .site-header,
  body.admin-bar .site-header {
    position: sticky !important;
    top: 0 !important;
    left: 0;
    right: 0;

    width: 100%;
    height: var(--blackout-header-height) !important;
    min-height: var(--blackout-header-height) !important;

    margin: 0 !important;
    padding: 0 !important;

    z-index: 10000;
  }

  .site-header > .container,
  .site-header .navbar {
    height: var(--blackout-header-height) !important;
    min-height: var(--blackout-header-height) !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  /* Menu aperto immediatamente sotto l’header */
  .mobile-nav,
  [data-mobile-nav],
  body.admin-bar .mobile-nav,
  body.admin-bar [data-mobile-nav] {
    position: fixed !important;

    top: var(--blackout-header-height) !important;
    left: 0 !important;
    right: 0 !important;

    width: 100% !important;
    max-height: calc(
      100dvh - var(--blackout-header-height)
    ) !important;

    margin: 0 !important;
    overflow-y: auto;
    overscroll-behavior: contain;
    z-index: 9999;
  }

  /* Rimuove eventuali spazi imposti dai wrapper WordPress */
  body > .wp-site-blocks,
  body > #wrapper,
  .blackout-template-root,
  .blackout-template-main,
  .blackout-post-content,
  .wp-block-post-content {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  /* Il primo contenuto non deve creare margini sopra l’header */
  .wp-site-blocks > :first-child,
  .blackout-template-root > :first-child,
  .blackout-template-main > :first-child,
  .wp-block-post-content > :first-child {
    margin-top: 0 !important;
  }

  html {
    scroll-padding-top: calc(
      var(--blackout-header-height) + 16px
    ) !important;
  }

  #content,
  [id] {
    scroll-margin-top: calc(
      var(--blackout-header-height) + 16px
    ) !important;
  }
}
@media (max-width: 782px) {

  body.admin-bar #wpadminbar {
    display: none !important;
  }

  html:root,
  html:root body.admin-bar {
    margin-top: 0 !important;
  }

  body.admin-bar .site-header {
    top: 0 !important;
  }

  body.admin-bar .mobile-nav,
  body.admin-bar [data-mobile-nav] {
    top: var(--blackout-header-height) !important;
    max-height: calc(
      100dvh - var(--blackout-header-height)
    ) !important;
  }
}
@media (max-width: 57.99rem) {

  .site-header {
    background:
      linear-gradient(
        180deg,
        rgba(8, 8, 9, 0.99),
        rgba(4, 4, 5, 0.97)
      ) !important;

    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.28);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
  }

  .site-header .container {
    width: min(calc(100% - 24px), var(--container));
  }

  .brand {
    display: flex;
    align-items: center;
    height: 100%;
  }

  .brand img,
  .site-header .brand img {
    object-fit: contain;
  }

  .menu-toggle {
    flex: 0 0 48px;

    width: 48px;
    height: 48px;
    min-width: 48px;
    min-height: 48px;

    margin: 0;
    padding: 0;

    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 14px;

    background: rgba(255, 255, 255, 0.035);
    color: #ffffff;
  }

  .menu-toggle:hover,
  .menu-toggle[aria-expanded="true"] {
    border-color: rgba(255, 255, 255, 0.4);
    background: var(--surface-2);
  }

  .mobile-nav {
    gap: 4px !important;
    padding:
      12px
      max(12px, env(safe-area-inset-right))
      calc(18px + env(safe-area-inset-bottom))
      max(12px, env(safe-area-inset-left)) !important;

    border-top: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.14);

    background: rgba(7, 7, 8, 0.99);
    box-shadow: 0 24px 50px rgba(0, 0, 0, 0.48);

    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
  }

  .mobile-nav > a,
  .mobile-services-link {
    min-height: 50px;

    padding: 11px 13px;

    border: 1px solid transparent;
    border-radius: 11px;

    color: #f7f7f7;
    font-size: 15px;
    font-weight: 850;
    line-height: 1.25;
  }

  .mobile-nav > a:hover,
  .mobile-nav > a[aria-current="page"],
  .mobile-services-link:hover,
  .mobile-services-link[aria-current="page"] {
    border-color: rgba(255, 255, 255, 0.1);
    background: var(--surface-2);
  }

  .mobile-services-row {
    grid-template-columns: minmax(0, 1fr) 50px;
  }

  .mobile-services-toggle {
    width: 50px;
    height: 50px;

    border: 1px solid transparent;
    border-radius: 11px;

    background: transparent;
  }

  .mobile-services-toggle:hover,
  .mobile-services-toggle[aria-expanded="true"] {
    border-color: rgba(255, 255, 255, 0.1);
    background: var(--surface-2);
  }

  .mobile-services-menu {
    gap: 4px;
    margin: 4px 0 8px 12px;
    padding: 4px 0 4px 12px;

    border-left: 1px solid rgba(255, 255, 255, 0.15);
  }

  .mobile-services-menu a {
    min-height: 44px;

    padding: 9px 12px;

    border-left: 0;
    border-radius: 9px;

    color: #c9c9ce;
    font-size: 14px;
  }

  .mobile-services-menu a:hover,
  .mobile-services-menu a[aria-current="page"] {
    background: var(--surface-2);
    color: #ffffff;
  }

  .mobile-nav .button--red {
    min-height: 52px;
    margin-top: 8px;

    border-radius: 12px;

    background: var(--red);
    color: #ffffff;
    text-align: center;
  }
}
.section--brief{padding-block:clamp(1.1rem,3vw,2rem);background:var(--paper,#f3f1ee)}
.quick-facts{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(0,2fr);gap:clamp(1rem,3vw,2rem);padding:clamp(1.2rem,3vw,2rem);border:1px solid rgba(17,17,18,.14);border-radius:24px;background:#fff}
.quick-facts-heading h2{margin:.25rem 0 0;font-size:clamp(1.55rem,3vw,2.35rem)}
.quick-facts ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin:0;padding:0;list-style:none}
.quick-facts li{display:grid;gap:.18rem;padding:.9rem 1rem;border-radius:14px;background:rgba(17,17,18,.045)}
.quick-facts li strong{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}
.quick-facts li span{line-height:1.45}
.quick-facts-note{grid-column:1/-1;margin:0;color:var(--muted,#666);font-size:.9rem}
.hub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.hub-card{display:flex;flex-direction:column;min-height:260px;padding:1.35rem;border:1px solid rgba(17,17,18,.14);border-radius:22px;background:#fff;color:inherit;text-decoration:none;transition:transform .2s ease,border-color .2s ease}
.hub-card:hover{transform:translateY(-4px);border-color:var(--red,#d71920)}
.hub-card>span{font-size:.78rem;font-weight:800;letter-spacing:.1em;color:var(--red,#d71920)}
.hub-card h3{margin:.65rem 0 .5rem;font-size:clamp(1.35rem,2vw,1.8rem); color:#817E7D}
.hub-card p{margin:0 0 1rem;color:var(--muted,#817E7D)}
.hub-card strong{margin-top:auto; color:#817E7D}
.article-meta{display:flex;flex-wrap:wrap;gap:.55rem 1.2rem;padding:1rem 1.15rem;border-block:1px solid rgba(17,17,18,.12);font-size:.9rem}
.section--article-meta{padding-block:0;background:var(--paper,#f3f1ee)}
.guide-commercial-link{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:clamp(1.2rem,3vw,2rem);border-radius:24px;background:#111;color:#fff}
.course-mini-grid--five{grid-template-columns:repeat(5,minmax(0,1fr))}
.option-row strong small{display:block;font-size:.72rem;font-weight:700;color:var(--muted,#666)}
@media(max-width:900px){.quick-facts{grid-template-columns:1fr}.quick-facts ul{grid-template-columns:1fr 1fr}.hub-grid,.course-mini-grid--five{grid-template-columns:1fr 1fr}.guide-commercial-link{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.quick-facts ul,.hub-grid,.course-mini-grid--five{grid-template-columns:1fr}.quick-facts{border-radius:18px}.hub-card{min-height:0}.article-meta{display:grid}.guide-commercial-link .button{width:100%}}
.price-table--dark .price-row,
.price-table--dark .price-row--featured {
  background:
    radial-gradient(circle at 95% 0%, rgba(212, 20, 28, 0.11), transparent 34%),
    linear-gradient(145deg, #18181b 0%, #101012 100%) !important;
  color: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.14) !important;
  box-shadow: 0 14px 36px rgba(0, 0, 0, 0.16);
}
.price-table--dark .price-row--featured {
  border-color: var(--red) !important;
  box-shadow:
    0 0 0 1px rgba(212, 20, 28, 0.28),
    0 18px 44px rgba(0, 0, 0, 0.24);
}
.price-table--dark .price-row h3,
.price-table--dark .price-row > div > strong,
.price-table--dark .plan-info strong {
  color: #ffffff !important;
}
.price-table--dark .price-row small,
.price-table--dark .price-row-plan span:not(.price-row-badge) {
  color: #c8c8ce !important;
}
.price-table--dark .plan-info {
  border-top-color: rgba(255, 255, 255, 0.2) !important;
}
.price-table--dark .plan-info summary {
  color: #ffffff !important;
  opacity: 1 !important;
}
.price-table--dark .plan-info summary:hover,
.price-table--dark .plan-info summary:focus-visible {
  color: #ff747a !important;
}
.price-table--dark .plan-info summary::after {
  border-color: rgba(255, 255, 255, 0.42) !important;
  background: rgba(255, 255, 255, 0.045) !important;
  color: #ffffff !important;
}
.price-table--dark .plan-info[open] summary::after {
  border-color: var(--red) !important;
  background: var(--red) !important;
}
.price-table--dark .plan-info-content,
.price-table--dark .plan-info-content p {
  color: #d7d7dc !important;
}
#cosa-include .feature-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1rem;
  align-items: stretch;
}
#cosa-include .feature {
  position: relative;
  min-width: 0;
  min-height: 17rem;
  display: flex;
  flex-direction: column;
  padding: 1.35rem 1.25rem 1.45rem;
  overflow: hidden;
  border: 1px solid rgba(17, 17, 20, 0.12);
  border-radius: 1.25rem;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(249, 248, 246, 0.98));
  color: var(--ink);
  box-shadow: 0 15px 34px rgba(17, 17, 20, 0.08);
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}
#cosa-include .feature::before {
  content: "";
  width: 2.7rem;
  height: 0.34rem;
  margin-bottom: 1.15rem;
  border-radius: 999px;
  background: var(--red);
}
#cosa-include .feature::after {
  position: absolute;
  right: 1rem;
  top: 0.82rem;
  font: 900 2.7rem/1 var(--display);
  color: rgba(17, 17, 20, 0.065);
}
#cosa-include .feature:nth-child(1)::after { content: "01"; }
#cosa-include .feature:nth-child(2)::after { content: "02"; }
#cosa-include .feature:nth-child(3)::after { content: "03"; }
#cosa-include .feature:nth-child(4)::after { content: "04"; }
#cosa-include .feature:nth-child(5)::after { content: "05"; }
#cosa-include .feature h3 {
  position: relative;
  z-index: 1;
  font-size: clamp(1.45rem, 1.7vw, 2rem);
  line-height: 0.98;
}
#cosa-include .feature p {
  position: relative;
  z-index: 1;
  margin-top: 0.75rem;
  color: var(--ink-muted);
  line-height: 1.58;
}
#cosa-include .feature:first-child {
  border-color: rgba(212, 20, 28, 0.55);
  background:
    radial-gradient(circle at 100% 0%, rgba(212, 20, 28, 0.28), transparent 42%),
    linear-gradient(145deg, #1a1a1d, #0c0c0e);
  color: #ffffff;
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.2);
}
#cosa-include .feature:first-child::after {
  color: rgba(255, 255, 255, 0.08);
}
#cosa-include .feature:first-child p {
  color: #d0d0d5;
}
#cosa-include .feature:hover {
  transform: translateY(-5px);
  border-color: rgba(212, 20, 28, 0.65);
  box-shadow: 0 20px 46px rgba(17, 17, 20, 0.13);
}
#lezioni .option-list--conversion {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  border-top: 0;
}
#lezioni .option-list--conversion .option-row {
  position: relative;
  min-width: 0;
  min-height: 28rem;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 1rem;
  padding: 1.55rem;
  overflow: hidden;
  border: 1px solid rgba(17, 17, 20, 0.13);
  border-radius: 1.45rem;
  background: #ffffff;
  color: var(--ink);
  box-shadow: 0 16px 40px rgba(17, 17, 20, 0.09);
}
#lezioni .option-list--conversion .option-row::before {
  display: inline-grid;
  width: 2.75rem;
  height: 2.75rem;
  place-items: center;
  margin-bottom: 0.1rem;
  border-radius: 50%;
  background: var(--red);
  color: #ffffff;
  font: 900 1rem/1 var(--display);
}
#lezioni .option-row:nth-child(1)::before { content: "01"; }
#lezioni .option-row:nth-child(2)::before { content: "02"; }
#lezioni .option-row:nth-child(3)::before { content: "03"; }
#lezioni .option-row > div {
  display: grid;
  align-content: start;
  gap: 0.7rem;
}
#lezioni .option-row h3 {
  font-size: clamp(1.75rem, 2.5vw, 2.45rem);
  line-height: 0.96;
}
#lezioni .option-row h3 a {
  color: inherit;
  text-decoration-thickness: 2px;
  text-underline-offset: 0.16em;
}
#lezioni .option-row p {
  margin: 0;
  color: var(--ink-muted);
  line-height: 1.6;
}
#lezioni .option-benefits {
  display: grid;
  gap: 0.45rem;
  margin-top: 0.35rem;
}
#lezioni .option-benefits li {
  position: relative;
  padding: 0.55rem 0.7rem 0.55rem 1.75rem;
  border-radius: 0.75rem;
  background: #f0eeea;
  color: #303036;
  line-height: 1.35;
}
#lezioni .option-benefits li::before {
  content: "✓";
  position: absolute;
  left: 0.65rem;
  top: 0.48rem;
  color: var(--red);
  font-weight: 950;
}
#lezioni .option-row > strong {
  display: flex;
  align-items: baseline;
  gap: 0.4rem;
  margin-top: auto;
  padding-top: 1rem;
  border-top: 1px solid rgba(17, 17, 20, 0.12);
  color: var(--ink);
  font: 900 clamp(2.8rem, 4.5vw, 4rem)/0.9 var(--display);
}
#lezioni .option-row > strong small {
  color: var(--ink-muted) !important;
  font: 800 0.72rem/1.2 var(--font);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
#lezioni .option-row > .text-link {
  width: 100%;
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.75rem 1rem;
  border: 1px solid var(--ink);
  border-radius: 999px;
  background: transparent;
  color: var(--ink);
  text-decoration: none;
  text-align: center;
  transition: background 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}
#lezioni .option-row > .text-link:hover {
  border-color: var(--red);
  background: var(--red);
  color: #ffffff;
}
#lezioni .option-row:nth-child(1) {
  background:
    radial-gradient(circle at 100% 0%, rgba(212, 20, 28, 0.25), transparent 40%),
    linear-gradient(145deg, #19191c, #0c0c0e);
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.14);
}
#lezioni .option-row:nth-child(1) p {
  color: #d0d0d5;
}
#lezioni .option-row:nth-child(1) .option-benefits li {
  background: rgba(255, 255, 255, 0.08);
  color: #f2f2f4;
}
#lezioni .option-row:nth-child(1) > strong {
  border-top-color: rgba(255, 255, 255, 0.16);
  color: #ffffff;
}
#lezioni .option-row:nth-child(1) > .text-link {
  border-color: rgba(255, 255, 255, 0.5);
  color: #ffffff;
}
#lezioni .option-row:nth-child(2) {
  border-color: rgba(212, 20, 28, 0.52);
  background:
    linear-gradient(180deg, #ffffff 0%, #fff9f9 100%);
}
#lezioni .option-row:nth-child(3) {
  background:
    linear-gradient(145deg, #f0efec 0%, #ffffff 70%);
  border-color: rgba(17, 17, 20, 0.18);
}
#pacchetti .package-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  border-top: 0;
}
#pacchetti .package-row {
  position: relative;
  min-width: 0;
  min-height: 22rem;
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-areas:
    "save save"
    "content content"
    "price price"
    "cta cta";
  align-content: start;
  gap: 1rem;
  padding: 1.6rem;
  overflow: hidden;
  border: 1px solid rgba(17, 17, 20, 0.14);
  border-radius: 1.45rem;
  background: #ffffff;
  color: var(--ink);
  box-shadow: 0 16px 40px rgba(17, 17, 20, 0.09);
}
#pacchetti .package-row::after {
  position: absolute;
  right: 1rem;
  top: 0.65rem;
  font: 900 5.6rem/1 var(--display);
  color: rgba(17, 17, 20, 0.055);
  pointer-events: none;
}
#pacchetti .package-row:nth-child(1)::after { content: "01"; }
#pacchetti .package-row:nth-child(2)::after { content: "02"; }
#pacchetti .package-row:nth-child(3)::after { content: "03"; }
#pacchetti .package-row:nth-child(4)::after { content: "04"; }
#pacchetti .package-save {
  grid-area: save;
  position: relative;
  z-index: 1;
  width: max-content;
  max-width: 100%;
  padding: 0.42rem 0.72rem;
  border-radius: 999px;
  background: #171719;
  color: #ffffff;
  font-size: 0.78rem;
  letter-spacing: 0.02em;
}
#pacchetti .package-row > div {
  grid-area: content;
  position: relative;
  z-index: 1;
  align-self: start;
}
#pacchetti .package-row h3 {
  max-width: 22ch;
  font-size: clamp(1.8rem, 3vw, 2.7rem);
  line-height: 0.98;
}
#pacchetti .package-row p {
  margin-top: 0.65rem;
  color: var(--ink-muted);
  font-size: 0.95rem;
}
#pacchetti .package-row > strong {
  grid-area: price;
  position: relative;
  z-index: 1;
  align-self: end;
  margin-top: auto;
  padding-top: 1.1rem;
  border-top: 1px solid rgba(17, 17, 20, 0.13);
  color: var(--ink);
  font: 900 clamp(3.2rem, 6vw, 5rem)/0.86 var(--display);
}
#pacchetti .package-row > .text-link {
  grid-area: cta;
  position: relative;
  z-index: 1;
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.78rem 1rem;
  border: 1px solid var(--ink);
  border-radius: 999px;
  background: transparent;
  color: var(--ink);
  text-decoration: none;
  text-align: center;
}
#pacchetti .package-row > .text-link:hover {
  border-color: var(--red);
  background: var(--red);
  color: #ffffff;
}
#pacchetti .package-row:nth-child(2) {
  border-color: rgba(212, 20, 28, 0.6);
  background: linear-gradient(145deg, #fff 0%, #fff6f6 100%);
}
#pacchetti .package-row:nth-child(2) .package-save {
  background: var(--red);
}
#pacchetti .package-row:nth-child(3) {
  border-color: rgba(255, 255, 255, 0.14);
  background:
    radial-gradient(circle at 100% 0%, rgba(212, 20, 28, 0.22), transparent 40%),
    linear-gradient(145deg, #19191c, #0c0c0e);
  color: #ffffff;
}
#pacchetti .package-row:nth-child(3)::after {
  color: rgba(255, 255, 255, 0.07);
}
#pacchetti .package-row:nth-child(3) p {
  color: #cdCDD2;
}
#pacchetti .package-row:nth-child(3) > strong {
  border-top-color: rgba(255, 255, 255, 0.16);
  color: #ffffff;
}
#pacchetti .package-row:nth-child(3) > .text-link {
  border-color: rgba(255, 255, 255, 0.5);
  color: #ffffff;
}
#pacchetti .package-row:nth-child(4) {
  border-color: #9e070d;
  background: linear-gradient(145deg, #e31b23 0%, #a8070e 100%);
  color: #ffffff;
  box-shadow: 0 20px 46px rgba(163, 4, 12, 0.24);
}
#pacchetti .package-row:nth-child(4)::after {
  color: rgba(255, 255, 255, 0.09);
}
#pacchetti .package-row:nth-child(4) .package-save {
  background: #ffffff;
  color: #111114;
}
#pacchetti .package-row:nth-child(4) p {
  color: rgba(255, 255, 255, 0.84);
}
#pacchetti .package-row:nth-child(4) > strong {
  border-top-color: rgba(255, 255, 255, 0.22);
  color: #ffffff;
}
#pacchetti .package-row:nth-child(4) > .text-link {
  border-color: #ffffff;
  background: #ffffff;
  color: #a8070e;
}
#pacchetti .package-row:nth-child(4) > .text-link:hover {
  background: #111114;
  border-color: #111114;
  color: #ffffff;
}
@media (max-width: 1179px) and (min-width: 761px) {
  #cosa-include .feature-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  #cosa-include .feature:nth-child(-n + 2) {
    grid-column: span 3;
  }

  #cosa-include .feature:nth-child(n + 3) {
    grid-column: span 2;
  }

  #cosa-include .feature {
    min-height: 14.5rem;
  }
}
@media (max-width: 1050px) and (min-width: 701px) {
  #lezioni .option-list--conversion {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #lezioni .option-row:nth-child(3) {
    grid-column: 1 / -1;
    min-height: 0;
  }
}
@media (max-width: 760px) {
  #cosa-include .feature-grid,
  #lezioni .option-list--conversion,
  #pacchetti .package-list {
    grid-template-columns: 1fr;
  }

  #cosa-include .feature,
  #lezioni .option-list--conversion .option-row,
  #pacchetti .package-row {
    min-height: 0;
  }

  #lezioni .option-row > strong,
  #pacchetti .package-row > strong {
    font-size: 3rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  #cosa-include .feature {
    transition: none;
  }

  #cosa-include .feature:hover {
    transform: none;
  }
}
html[data-input-mode="pointer"] :where(
  a,
  button,
  summary,
  [role="button"],
  [tabindex]:not([tabindex="-1"])
):focus,
html[data-input-mode="pointer"] :where(
  a,
  button,
  summary,
  [role="button"],
  [tabindex]:not([tabindex="-1"])
):focus-visible {
  outline: none !important;
  outline-offset: 0 !important;
  box-shadow: none !important;
}
html[data-input-mode="keyboard"] :where(
  a,
  button,
  summary,
  [role="button"],
  [tabindex]:not([tabindex="-1"])
):focus-visible {
  outline: 2px solid #ffffff !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 3px rgba(212, 20, 28, 0.85) !important;
}
html[data-input-mode="keyboard"] .section--paper :where(
  a,
  button,
  summary,
  [role="button"],
  [tabindex]:not([tabindex="-1"])
):focus-visible,
html[data-input-mode="keyboard"] .section--white :where(
  a,
  button,
  summary,
  [role="button"],
  [tabindex]:not([tabindex="-1"])
):focus-visible {
  outline-color: #111114 !important;
}
html[data-input-mode="pointer"] .plan-info summary:focus,
html[data-input-mode="pointer"] .plan-info summary:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}
html[data-input-mode="pointer"] .text-link:focus,
html[data-input-mode="pointer"] .text-link:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}
.section--brief {
  background: #f2f0ec !important;
  color: var(--ink) !important;
}
.section--brief .quick-facts {
  color: var(--ink) !important;
  background:
    radial-gradient(
      circle at 0 0,
      rgba(212, 20, 28, 0.055),
      transparent 34%
    ),
    #ffffff !important;

  border: 1px solid rgba(17, 17, 20, 0.14);
  box-shadow: 0 16px 42px rgba(17, 17, 20, 0.08);
}
.section--brief .quick-facts-heading {
  align-self: start;
}
.section--brief .quick-facts-heading .eyebrow {
  color: var(--red) !important;
}
.section--brief .quick-facts-heading h2 {
  color: var(--ink) !important;
  opacity: 1 !important;
}
.section--brief .quick-facts ul {
  align-items: stretch;
}
.section--brief .quick-facts li {
  min-height: 6.2rem;
  align-content: center;

  border: 1px solid rgba(17, 17, 20, 0.08);
  background: #f2f0ec !important;
  color: var(--ink) !important;
}
.section--brief .quick-facts li strong {
  color: var(--red-dark) !important;
  opacity: 1 !important;
}
.section--brief .quick-facts li span {
  color: #3f3f45 !important;
  opacity: 1 !important;
}
.section--brief .quick-facts-note {
  color: #66666d !important;
  opacity: 1 !important;
}
#criteri-forza .feature-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  align-items: stretch;
}
#criteri-forza .feature {
  position: relative;
  min-width: 0;
  min-height: 20rem;

  display: flex;
  flex-direction: column;

  padding: 1.6rem;
  overflow: hidden;

  border: 1px solid rgba(17, 17, 20, 0.12);
  border-radius: 1.35rem;

  background: #ffffff;
  color: var(--ink);

  box-shadow: 0 18px 42px rgba(17, 17, 20, 0.09);

  transition:
    transform 0.2s ease,
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}
#criteri-forza .feature::before,
#criteri-forza .feature::after {
  content: none !important;
  display: none !important;
}
#criteri-forza .feature-topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;

  min-height: 3.4rem;
  margin-bottom: 1.25rem;
}
#criteri-forza .feature-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-width: 3.7rem;
  min-height: 3.1rem;
  padding: 0.3rem 0.65rem;

  border: 1px solid rgba(212, 20, 28, 0.22);
  border-radius: 0.8rem;

  background: rgba(212, 20, 28, 0.07);
  color: var(--red-dark);

  font-family: var(--display);
  font-size: 2rem;
  font-weight: 900;
  line-height: 1;
  letter-spacing: -0.03em;
}
#criteri-forza .feature-line {
  width: 3rem;
  height: 0.3rem;
  margin-left: auto;

  border-radius: 999px;
  background: var(--red);
}
#criteri-forza .feature h3 {
  color: var(--ink);

  font-size: clamp(1.75rem, 2.3vw, 2.45rem);
  line-height: 0.96;

  text-wrap: balance;
}
#criteri-forza .feature p {
  margin-top: 1rem;

  color: var(--ink-muted);
  line-height: 1.62;
}
#criteri-forza .feature:first-child {
  border-color: rgba(212, 20, 28, 0.62);

  background:
    radial-gradient(
      circle at 100% 0,
      rgba(212, 20, 28, 0.26),
      transparent 42%
    ),
    linear-gradient(
      145deg,
      #1b1b1e,
      #09090b
    );

  color: #ffffff;

  box-shadow: 0 20px 46px rgba(0, 0, 0, 0.2);
}
#criteri-forza .feature:first-child .feature-number {
  border-color: rgba(255, 255, 255, 0.24);

  background: rgba(255, 255, 255, 0.09);
  color: #ffffff;
}
#criteri-forza .feature:first-child .feature-line {
  background: #ff4d54;
}
#criteri-forza .feature:first-child h3 {
  color: #ffffff;
}
#criteri-forza .feature:first-child p {
  color: #d2d2d7;
}
#criteri-forza .feature:hover {
  transform: translateY(-5px);

  border-color: rgba(212, 20, 28, 0.62);

  box-shadow: 0 24px 52px rgba(17, 17, 20, 0.14);
}
.section--brief .quick-facts {
  padding-bottom: clamp(1.4rem, 3vw, 2rem);
}
.section--brief .quick-facts-note {
  display: none !important;
}
@media (max-width: 1100px) {

  #criteri-forza .feature-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #criteri-forza .feature {
    min-height: 17rem;
  }
}
@media (max-width: 700px) {

  #criteri-forza .feature-grid {
    grid-template-columns: 1fr;
  }

  #criteri-forza .feature {
    min-height: 0;
    padding: 1.35rem;
  }

  #criteri-forza .feature-topline {
    min-height: 3rem;
    margin-bottom: 1rem;
  }

  #criteri-forza .feature-number {
    min-width: 3.3rem;
    min-height: 2.8rem;
    font-size: 1.75rem;
  }

  #criteri-forza .feature h3 {
    font-size: clamp(1.8rem, 9vw, 2.35rem);
  }
}
@media (prefers-reduced-motion: reduce) {

  #criteri-forza .feature {
    transition: none;
  }

  #criteri-forza .feature:hover {
    transform: none;
  }
}
#organizzare-vacanza .holiday-decision-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  align-items: stretch;
}
#organizzare-vacanza .holiday-decision-card {
  min-width: 0;
  min-height: 19rem;

  display: flex;
  flex-direction: column;

  padding: 1.55rem;

  border: 1px solid rgba(17, 17, 20, 0.12);
  border-radius: 1.3rem;

  background: #ffffff;
  color: var(--ink);

  box-shadow: 0 18px 42px rgba(17, 17, 20, 0.08);

  transition:
    transform 0.2s ease,
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}
#organizzare-vacanza .holiday-decision-card--featured {
  border-color: rgba(212, 20, 28, 0.66);

  background:
    radial-gradient(
      circle at 100% 0,
      rgba(212, 20, 28, 0.25),
      transparent 45%
    ),
    linear-gradient(
      145deg,
      #1b1b1e,
      #09090b
    );

  color: #ffffff;

  box-shadow: 0 22px 48px rgba(0, 0, 0, 0.2);
}
#organizzare-vacanza .holiday-decision-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;

  min-height: 3.2rem;
  margin-bottom: 1.25rem;
}
#organizzare-vacanza .holiday-decision-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-width: 3.5rem;
  min-height: 3rem;
  padding: 0.3rem 0.65rem;

  border: 1px solid rgba(212, 20, 28, 0.22);
  border-radius: 0.8rem;

  background: rgba(212, 20, 28, 0.07);
  color: var(--red-dark);

  font-family: var(--display);
  font-size: 1.9rem;
  font-weight: 900;
  line-height: 1;
}
#organizzare-vacanza .holiday-decision-line {
  width: 2.8rem;
  height: 0.28rem;

  margin-left: auto;

  border-radius: 999px;
  background: var(--red);
}
#organizzare-vacanza .holiday-decision-card h3 {
  color: var(--ink);

  font-size: clamp(1.65rem, 2.2vw, 2.25rem);
  line-height: 0.98;
}
#organizzare-vacanza .holiday-decision-card p {
  margin-top: 1rem;

  color: var(--ink-muted);
  line-height: 1.62;
}
#organizzare-vacanza
  .holiday-decision-card--featured
  .holiday-decision-number {
  border-color: rgba(255, 255, 255, 0.22);

  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
}
#organizzare-vacanza
  .holiday-decision-card--featured
  .holiday-decision-line {
  background: #ff4d54;
}
#organizzare-vacanza
  .holiday-decision-card--featured
  h3 {
  color: #ffffff;
}
#organizzare-vacanza
  .holiday-decision-card--featured
  p {
  color: #d1d1d6;
}
#organizzare-vacanza .holiday-decision-card:hover {
  transform: translateY(-5px);
  border-color: rgba(212, 20, 28, 0.62);
  box-shadow: 0 24px 52px rgba(17, 17, 20, 0.14);
}
.holiday-request-section {
  position: relative;
  overflow: hidden;

  background:
    radial-gradient(
      circle at 90% 15%,
      rgba(212, 20, 28, 0.2),
      transparent 34rem
    ),
    #050505;

  color: #ffffff;
}
.holiday-request-section::before {
  content: "";

  position: absolute;
  top: 0;
  left: 0;

  width: 100%;
  height: 1px;

  background: rgba(255, 255, 255, 0.14);
}
.holiday-request-grid {
  position: relative;
  z-index: 1;

  display: grid;
  grid-template-columns:
    minmax(0, 0.9fr)
    minmax(25rem, 1.1fr);

  gap: clamp(2rem, 6vw, 5rem);
  align-items: start;
}
.holiday-request-copy {
  display: grid;
  gap: 1.2rem;
}
.holiday-request-copy h2 {
  max-width: 11ch;
  color: #ffffff;
}
.holiday-request-copy .lead {
  color: #c5c5ca;
}
.holiday-request-list {
  display: grid;
  gap: 0.65rem;

  margin-top: 0.75rem;
}
.holiday-request-item {
  display: grid;
  grid-template-columns: 3.2rem minmax(0, 1fr);
  gap: 1rem;
  align-items: start;

  padding: 1rem 0;

  border-top: 1px solid rgba(255, 255, 255, 0.14);
}
.holiday-request-item:last-child {
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}
.holiday-request-index {
  color: #ff4d54;

  font-family: var(--display);
  font-size: 1.55rem;
  font-weight: 900;
  line-height: 1;
}
.holiday-request-item h3 {
  color: #ffffff;

  font-family: var(--font);
  font-size: 1rem;
  line-height: 1.2;
}
.holiday-request-item p {
  margin-top: 0.28rem;
  color: #aaaab0;
  font-size: 0.9rem;
}
.holiday-message-card {
  position: sticky;
  top: calc(
    var(--blackout-header-height, 88px) +
    var(--blackout-adminbar-height, 0px) +
    1.5rem
  );

  min-width: 0;

  padding: clamp(1.35rem, 3vw, 2rem);

  border: 1px solid rgba(255, 77, 84, 0.68);
  border-radius: 1.5rem;

  background:
    linear-gradient(
      145deg,
      rgba(28, 28, 31, 0.98),
      rgba(12, 12, 14, 0.98)
    );

  box-shadow: 0 28px 70px rgba(0, 0, 0, 0.44);
}
.holiday-message-card-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;

  margin-bottom: 1rem;
}
.holiday-message-label,
.holiday-message-channel {
  display: inline-flex;
  align-items: center;

  min-height: 2rem;
  padding: 0.35rem 0.65rem;

  border-radius: 999px;

  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.09em;
  line-height: 1;
  text-transform: uppercase;
}
.holiday-message-label {
  background: var(--red);
  color: #ffffff;
}
.holiday-message-channel {
  border: 1px solid rgba(255, 255, 255, 0.16);
  color: #c8c8cd;
}
.holiday-message-card h3 {
  max-width: 18ch;
  color: #ffffff;
  font-size: clamp(1.8rem, 3vw, 2.7rem);
}
.holiday-message-text {
  margin-top: 1.25rem;
  padding: 1.2rem;

  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 1rem;

  background: rgba(255, 255, 255, 0.045);
  color: #dddddf;

  font-size: 0.96rem;
  line-height: 1.7;
  white-space: pre-line;
}
.holiday-message-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;

  margin-top: 1rem;
}
.holiday-copy-status {
  min-height: 1.4rem;
  margin-top: 0.65rem;

  color: #bdbdc2;
  font-size: 0.82rem;
  font-weight: 750;
}
.quick-facts-note {
  display: none !important;
}
@media (max-width: 1100px) {

  #organizzare-vacanza .holiday-decision-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #organizzare-vacanza .holiday-decision-card {
    min-height: 16rem;
  }

  .holiday-request-grid {
    grid-template-columns: 1fr;
  }

  .holiday-message-card {
    position: static;
  }
}
@media (max-width: 700px) {

  #organizzare-vacanza .holiday-decision-grid {
    grid-template-columns: 1fr;
  }

  #organizzare-vacanza .holiday-decision-card {
    min-height: 0;
    padding: 1.35rem;
  }

  .holiday-request-copy h2 {
    max-width: none;
  }

  .holiday-request-item {
    grid-template-columns: 2.6rem minmax(0, 1fr);
  }

  .holiday-message-card {
    padding: 1.2rem;
    border-radius: 1.15rem;
  }

  .holiday-message-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .holiday-message-actions .button {
    width: 100%;
  }
}
@media (prefers-reduced-motion: reduce) {

  #organizzare-vacanza .holiday-decision-card {
    transition: none;
  }

  #organizzare-vacanza .holiday-decision-card:hover {
    transform: none;
  }
}
.bodybuilding-focus-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  align-items: stretch;
}
.bodybuilding-focus-card {
  min-width: 0;
  min-height: 19rem;

  display: flex;
  flex-direction: column;

  padding: 1.55rem;

  border: 1px solid rgba(17, 17, 20, 0.12);
  border-radius: 1.35rem;

  background: #ffffff;
  color: var(--ink);

  box-shadow: 0 18px 44px rgba(17, 17, 20, 0.09);

  transition:
    transform 0.2s ease,
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}
.bodybuilding-focus-card--featured {
  border-color: rgba(212, 20, 28, 0.68);

  background:
    radial-gradient(
      circle at 100% 0,
      rgba(212, 20, 28, 0.24),
      transparent 48%
    ),
    linear-gradient(145deg, #1b1b1e, #09090b);

  color: #ffffff;
}
.bodybuilding-focus-card-top {
  min-height: 3.2rem;

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;

  margin-bottom: 1.15rem;
}
.bodybuilding-focus-index {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-width: 3.6rem;
  min-height: 3rem;

  padding: 0.3rem 0.65rem;

  border: 1px solid rgba(212, 20, 28, 0.22);
  border-radius: 0.8rem;

  background: rgba(212, 20, 28, 0.07);
  color: var(--red-dark);

  font-family: var(--display);
  font-size: 1.9rem;
  font-weight: 900;
  line-height: 1;
}
.bodybuilding-focus-line {
  width: 2.8rem;
  height: 0.28rem;

  margin-left: auto;

  border-radius: 999px;
  background: var(--red);
}
.bodybuilding-focus-card h3 {
  color: var(--ink);

  font-size: clamp(1.6rem, 2.2vw, 2.2rem);
  line-height: 1;
}
.bodybuilding-focus-card p {
  margin-top: 1rem;

  color: var(--ink-muted);
  line-height: 1.62;
}
.bodybuilding-focus-card--featured .bodybuilding-focus-index {
  border-color: rgba(255, 255, 255, 0.2);
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
}
.bodybuilding-focus-card--featured h3 {
  color: #ffffff;
}
.bodybuilding-focus-card--featured p {
  color: #d0d0d5;
}
.bodybuilding-focus-card:hover {
  transform: translateY(-5px);
  border-color: rgba(212, 20, 28, 0.6);
  box-shadow: 0 25px 55px rgba(17, 17, 20, 0.14);
}
.bodybuilding-room-section {
  position: relative;
  overflow: hidden;

  background:
    radial-gradient(
      circle at 88% 12%,
      rgba(212, 20, 28, 0.18),
      transparent 34rem
    ),
    #050505;

  color: #ffffff;
}
.bodybuilding-room-section h2 {
  color: #ffffff;
}
.bodybuilding-room-section .lead {
  color: #c6c6cb;
}
.bodybuilding-proof-list {
  display: grid;
  gap: 0;

  margin: 0.3rem 0 0.5rem;

  border-top: 1px solid rgba(255, 255, 255, 0.14);
}
.bodybuilding-proof-list > div {
  display: grid;
  grid-template-columns: minmax(9rem, 0.55fr) minmax(0, 1fr);
  gap: 1.2rem;
  align-items: center;

  padding: 1rem 0;

  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}
.bodybuilding-proof-list strong {
  color: #ffffff;

  font-family: var(--display);
  font-size: clamp(1.45rem, 2.4vw, 2rem);
  line-height: 1;
}
.bodybuilding-proof-list span {
  color: #aaaab0;
}
.bodybuilding-support-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  align-items: stretch;
}
.bodybuilding-support-card {
  min-width: 0;

  display: flex;
  flex-direction: column;
  gap: 0.8rem;

  padding: clamp(1.35rem, 3vw, 1.8rem);

  border: 1px solid rgba(17, 17, 20, 0.14);
  border-radius: 1.35rem;

  background: #ffffff;
  color: var(--ink);

  box-shadow: 0 16px 42px rgba(17, 17, 20, 0.08);
}
.bodybuilding-support-card--featured {
  border-color: var(--red);

  background:
    radial-gradient(
      circle at 100% 0,
      rgba(212, 20, 28, 0.24),
      transparent 45%
    ),
    #121214;

  color: #ffffff;
}
.bodybuilding-support-label {
  display: inline-flex;
  width: max-content;
  max-width: 100%;

  padding: 0.32rem 0.62rem;

  border-radius: 999px;

  background: rgba(212, 20, 28, 0.1);
  color: var(--red-dark);

  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  line-height: 1;
  text-transform: uppercase;
}
.bodybuilding-support-card h3 {
  color: var(--ink);
  font-size: clamp(1.65rem, 2.4vw, 2.3rem);
}
.bodybuilding-support-card p {
  color: var(--ink-muted);
}
.bodybuilding-support-card .text-link {
  margin-top: auto;
}
.bodybuilding-support-card--featured .bodybuilding-support-label {
  background: var(--red);
  color: #ffffff;
}
.bodybuilding-support-card--featured h3 {
  color: #ffffff;
}
.bodybuilding-support-card--featured p {
  color: #ccccd1;
}
.bodybuilding-support-card--featured .text-link {
  color: #ffffff;
}
.bodybuilding-visit-section {
  background: var(--paper);
  color: var(--ink);
}
.bodybuilding-visit-panel {
  display: grid;
  grid-template-columns: minmax(17rem, 0.75fr) minmax(0, 1.25fr);
  gap: clamp(2rem, 6vw, 5rem);

  padding: clamp(1.5rem, 4vw, 3rem);

  border: 1px solid rgba(17, 17, 20, 0.13);
  border-radius: 1.6rem;

  background:
    radial-gradient(
      circle at 0 0,
      rgba(212, 20, 28, 0.07),
      transparent 25rem
    ),
    #ffffff;

  box-shadow: 0 24px 65px rgba(17, 17, 20, 0.1);
}
.bodybuilding-visit-heading {
  display: grid;
  gap: 0.9rem;
  align-content: start;
}
.bodybuilding-visit-heading h2 {
  color: var(--ink);
}
.bodybuilding-visit-heading .lead {
  color: var(--ink-muted);
}
.bodybuilding-visit-checks {
  display: grid;
  gap: 0.75rem;
}
.bodybuilding-visit-checks article {
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr);
  gap: 1rem;

  padding: 1.1rem;

  border: 1px solid rgba(17, 17, 20, 0.11);
  border-radius: 1rem;

  background: #f4f2ee;
}
.bodybuilding-visit-checks article > span {
  color: var(--red);

  font-family: var(--display);
  font-size: 1.55rem;
  font-weight: 900;
  line-height: 1;
}
.bodybuilding-visit-checks h3 {
  color: var(--ink);

  font-family: var(--font);
  font-size: 1rem;
  line-height: 1.2;
}
.bodybuilding-visit-checks p {
  margin-top: 0.3rem;
  color: var(--ink-muted);
  font-size: 0.9rem;
}
.bodybuilding-visit-actions {
  grid-column: 1 / -1;

  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;

  padding-top: 1.2rem;

  border-top: 1px solid rgba(17, 17, 20, 0.12);
}
.bodybuilding-visit-section .button--outline {
  border-color: rgba(17, 17, 20, 0.45);
  color: var(--ink);
}
@media (max-width: 1100px) {

  .bodybuilding-focus-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bodybuilding-focus-card {
    min-height: 16rem;
  }

  .bodybuilding-visit-panel {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 850px) {

  .bodybuilding-support-grid {
    grid-template-columns: 1fr;
  }

  .bodybuilding-support-card {
    min-height: 0;
  }
}
@media (max-width: 700px) {

  .bodybuilding-focus-grid {
    grid-template-columns: 1fr;
  }

  .bodybuilding-focus-card {
    min-height: 0;
    padding: 1.35rem;
  }

  .bodybuilding-proof-list > div {
    grid-template-columns: 1fr;
    gap: 0.35rem;
  }

  .bodybuilding-visit-panel {
    padding: 1.25rem;
    border-radius: 1.2rem;
  }

  .bodybuilding-visit-checks article {
    grid-template-columns: 2.5rem minmax(0, 1fr);
  }

  .bodybuilding-visit-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .bodybuilding-visit-actions .button {
    width: 100%;
  }
}
@media (prefers-reduced-motion: reduce) {

  .bodybuilding-focus-card {
    transition: none;
  }

  .bodybuilding-focus-card:hover {
    transform: none;
  }
}
.daypass-hero {
  position: relative;
  overflow: hidden;
}
.daypass-hero::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: -18rem;
  right: -14rem;

  width: 38rem;
  height: 38rem;

  border-radius: 50%;
  background: rgba(212, 20, 28, 0.14);
  filter: blur(90px);
}
.daypass-hero-points {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
}
.daypass-hero-points span {
  display: inline-flex;
  align-items: center;
  gap: 0.38rem;

  padding: 0.55rem 0.72rem;

  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 999px;

  background: rgba(255, 255, 255, 0.055);
  color: var(--muted);

  font-size: 0.8rem;
  line-height: 1.2;
}
.daypass-hero-points strong {
  color: #ffffff;
}
.daypass-hero-note {
  padding-left: 0.85rem;

  border-left: 3px solid var(--red);

  color: #c5c5ca;
  font-size: 0.84rem;
}
.daypass-hero-media {
  position: relative;
}
.daypass-media-caption {
  position: absolute;
  z-index: 2;
  left: 1rem;
  right: 1rem;
  bottom: 1rem;

  display: grid;
  gap: 0.12rem;

  padding: 0.8rem 0.9rem;

  border: 1px solid rgba(255, 255, 255, 0.17);
  border-radius: 0.85rem;

  background: rgba(5, 5, 6, 0.82);
  color: #ffffff;

  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.daypass-media-caption strong {
  font-size: 0.9rem;
}
.daypass-media-caption span {
  color: #bcbcc2;
  font-size: 0.76rem;
}
.daypass-brief-section {
  background: var(--paper);
}
.daypass-quick-facts {
  background:
    radial-gradient(
      circle at 0 0,
      rgba(212, 20, 28, 0.08),
      transparent 24rem
    ),
    #ffffff;
}
.daypass-request-section {
  position: relative;
}
.daypass-request-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(25rem, 1.18fr);
  gap: clamp(2rem, 6vw, 5rem);
  align-items: start;
}
.daypass-request-copy {
  display: grid;
  gap: 1rem;
  align-content: start;
}
.daypass-request-copy h2 {
  color: var(--ink);
}
.daypass-request-copy .lead {
  color: var(--ink-muted);
}
.daypass-request-benefits {
  display: grid;
  gap: 0.7rem;

  margin-top: 0.7rem;
}
.daypass-request-benefits article {
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr);
  gap: 0.9rem;

  padding: 1rem;

  border: 1px solid rgba(17, 17, 20, 0.12);
  border-radius: 1rem;

  background: #ffffff;
}
.daypass-request-benefits article > span {
  color: var(--red);

  font-family: var(--display);
  font-size: 1.55rem;
  line-height: 1;
}
.daypass-request-benefits strong {
  display: block;
  color: var(--ink);
}
.daypass-request-benefits p {
  margin-top: 0.15rem;

  color: var(--ink-muted);
  font-size: 0.88rem;
}
.daypass-form {
  min-width: 0;

  display: grid;
  gap: 1.1rem;

  padding: clamp(1.25rem, 3vw, 2rem);

  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 1.6rem;

  background:
    radial-gradient(
      circle at 100% 0,
      rgba(212, 20, 28, 0.2),
      transparent 44%
    ),
    #111113;

  color: #ffffff;

  box-shadow: 0 25px 65px rgba(0, 0, 0, 0.22);
}
.daypass-form-heading {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.65rem;
  align-items: center;

  padding-bottom: 1rem;

  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}
.daypass-form-heading span {
  font-family: var(--display);
  font-size: clamp(1.6rem, 3vw, 2.25rem);
  line-height: 1;
}
.daypass-form-heading strong {
  display: inline-flex;

  padding: 0.32rem 0.58rem;

  border-radius: 999px;

  background: rgba(255, 255, 255, 0.09);
  color: #d2d2d6;

  font-size: 0.72rem;
}
.daypass-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.85rem 1rem;
}
.daypass-form .field {
  min-width: 0;
}
.daypass-form .field label {
  color: #ffffff;
}
.daypass-form .field label > span {
  margin-left: 0.3rem;

  color: #98989f;
  font-size: 0.72rem;
  font-weight: 600;
}
.daypass-form .field input,
.daypass-form .field select,
.daypass-form .field textarea {
  min-height: 50px;

  border-color: rgba(255, 255, 255, 0.22);

  background: #08080a;
  color: #ffffff;
}
.daypass-form .field input:focus,
.daypass-form .field select:focus,
.daypass-form .field textarea:focus {
  border-color: var(--red);
}
.daypass-form-full {
  grid-column: 1 / -1;
}
.daypass-form textarea {
  min-height: 7rem;
}
.daypass-form .field-error {
  color: #ff9ea3;
}
.daypass-medical-notice {
  padding: 0.9rem 1rem;

  border-left: 4px solid var(--red);
  border-radius: 0 0.8rem 0.8rem 0;

  background: rgba(255, 255, 255, 0.055);
}
.daypass-medical-notice strong {
  color: #ffffff;
}
.daypass-medical-notice p {
  margin-top: 0.15rem;

  color: #bdbdc3;
  font-size: 0.82rem;
}
.daypass-submit {
  width: 100%;
  min-height: 54px;

  border: 0;
}
.daypass-form .form-status {
  min-height: 1.3rem;
  color: #ffffff;
}
.daypass-privacy {
  color: #929299;
  font-size: 0.72rem;
}
.daypass-included-section {
  background:
    radial-gradient(
      circle at 85% 10%,
      rgba(212, 20, 28, 0.15),
      transparent 35rem
    ),
    #050505;
}
.daypass-included-section h2 {
  color: #ffffff;
}
.daypass-included-section .section-head .lead {
  color: #c5c5ca;
}
.daypass-included-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.daypass-included-card {
  min-width: 0;
  min-height: 14rem;

  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 1.2rem;

  padding: clamp(1.25rem, 3vw, 1.75rem);

  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 1.35rem;

  background: #131315;
  color: #ffffff;
}
.daypass-included-card--featured {
  border-color: var(--red);

  background:
    radial-gradient(
      circle at 100% 0,
      rgba(212, 20, 28, 0.28),
      transparent 48%
    ),
    #131315;
}
.daypass-included-number {
  color: rgba(255, 255, 255, 0.15);

  font-family: var(--display);
  font-size: clamp(3rem, 6vw, 5rem);
  line-height: 0.8;
}
.daypass-included-card h3 {
  margin-top: 0.55rem;

  color: #ffffff;
  font-size: clamp(1.7rem, 3vw, 2.4rem);
}
.daypass-included-card p {
  margin-top: 0.65rem;

  color: #bdbdc3;
}
.daypass-tour-section {
  background: var(--paper);
}
.daypass-tour-links {
  display: grid;
  gap: 0;

  border-top: 1px solid rgba(17, 17, 20, 0.16);
}
.daypass-tour-links a {
  display: grid;
  grid-template-columns: 8rem minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;

  padding: 1rem 0;

  border-bottom: 1px solid rgba(17, 17, 20, 0.16);

  color: var(--ink);
  text-decoration: none;
}
.daypass-tour-links a > span {
  color: var(--red-dark);

  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.daypass-tour-links a > strong {
  color: var(--ink);
}
.daypass-tour-links a > b {
  color: var(--red);
  font-size: 1.4rem;
}
.daypass-tour-links a:hover strong,
.daypass-tour-links a:hover b {
  color: var(--red);
}
.daypass-tour-media {
  box-shadow: 0 24px 60px rgba(17, 17, 20, 0.15);
}
.daypass-final-cta .eyebrow {
  color: #ffffff;
}
.daypass-final-cta .eyebrow::before {
  background: #ffffff;
}
@media (max-width: 980px) {

  .daypass-request-layout {
    grid-template-columns: 1fr;
  }

  .daypass-request-copy {
    max-width: 48rem;
  }
}
@media (max-width: 760px) {

  .daypass-included-grid {
    grid-template-columns: 1fr;
  }

  .daypass-included-card {
    min-height: 0;
  }

  .daypass-tour-links a {
    grid-template-columns: 1fr auto;
  }

  .daypass-tour-links a > span {
    grid-column: 1 / -1;
  }
}
@media (max-width: 600px) {

  .daypass-hero-points {
    display: grid;
    grid-template-columns: 1fr;
  }

  .daypass-hero-points span {
    border-radius: 0.75rem;
  }

  .daypass-media-caption {
    position: static;

    border-width: 1px 0 0;
    border-radius: 0;

    background: #0a0a0c;
  }

  .daypass-form-grid {
    grid-template-columns: 1fr;
  }

  .daypass-form-full {
    grid-column: auto;
  }

  .daypass-form {
    border-radius: 1.2rem;
  }

  .daypass-included-card {
    grid-template-columns: 1fr;
  }

  .daypass-included-number {
    font-size: 3rem;
  }
}
.otranto-hero {
  position: relative;
  overflow: hidden;
}
.otranto-hero::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: -20rem;
  right: -14rem;

  width: 42rem;
  height: 42rem;

  border-radius: 50%;
  background: rgba(212, 20, 28, 0.14);
  filter: blur(100px);
}
.otranto-hero-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
}
.otranto-hero-facts span {
  display: inline-flex;
  align-items: center;
  gap: 0.38rem;

  padding: 0.58rem 0.75rem;

  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 999px;

  background: rgba(255, 255, 255, 0.055);
  color: #bdbdc3;

  font-size: 0.8rem;
  line-height: 1.2;
}
.otranto-hero-facts strong {
  color: #ffffff;
}
.otranto-hero-note {
  max-width: 48rem;

  padding-left: 0.9rem;

  border-left: 3px solid var(--red);

  color: #bdbdc3;
  font-size: 0.84rem;
}
.otranto-hero-media {
  position: relative;
}
.otranto-media-caption {
  position: absolute;
  z-index: 2;
  left: 1rem;
  right: 1rem;
  bottom: 1rem;

  display: grid;
  gap: 0.12rem;

  padding: 0.85rem 0.95rem;

  border: 1px solid rgba(255, 255, 255, 0.17);
  border-radius: 0.9rem;

  background: rgba(5, 5, 6, 0.84);
  color: #ffffff;

  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.otranto-media-caption strong {
  font-size: 0.9rem;
}
.otranto-media-caption span {
  color: #bcbcc2;
  font-size: 0.76rem;
}
.otranto-brief-section {
  background: var(--paper);
}
.otranto-quick-facts {
  background:
    radial-gradient(
      circle at 0 0,
      rgba(212, 20, 28, 0.08),
      transparent 24rem
    ),
    #ffffff;
}
.otranto-route-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(25rem, 1.15fr);
  gap: clamp(2rem, 6vw, 5rem);
  align-items: start;
}
.otranto-route-copy {
  display: grid;
  gap: 1rem;
  align-content: start;
}
.otranto-address {
  display: grid;
  gap: 0.2rem;

  margin: 0.3rem 0 0.5rem;
  padding: 1.1rem 1.2rem;

  border-left: 4px solid var(--red);
  border-radius: 0 1rem 1rem 0;

  background: #ffffff;
  box-shadow: 0 18px 45px rgba(17, 17, 20, 0.08);
}
.otranto-address > span {
  color: var(--red-dark);

  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.otranto-address strong {
  color: var(--ink);
  font-size: 1.15rem;
}
.otranto-address p {
  color: var(--ink-muted);
}
.otranto-route-steps {
  display: grid;
  gap: 0.75rem;
}
.otranto-route-steps article {
  display: grid;
  grid-template-columns: 3.5rem minmax(0, 1fr);
  gap: 1rem;
  align-items: start;

  padding: 1.15rem 1.25rem;

  border: 1px solid rgba(17, 17, 20, 0.12);
  border-radius: 1rem;

  background: #ffffff;
}
.otranto-route-steps article > span {
  color: var(--red);

  font-family: var(--display);
  font-size: 1.6rem;
  line-height: 1;
}
.otranto-route-steps h3 {
  color: var(--ink);
  font-size: 1.35rem;
}
.otranto-route-steps p {
  margin-top: 0.25rem;

  color: var(--ink-muted);
  font-size: 0.9rem;
}
.otranto-services-section {
  background:
    radial-gradient(
      circle at 85% 10%,
      rgba(212, 20, 28, 0.17),
      transparent 34rem
    ),
    #050505;
}
.otranto-services-section h2 {
  color: #ffffff;
}
.otranto-services-section .section-head .lead {
  color: #c4c4ca;
}
.otranto-service-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.otranto-service-card {
  min-width: 0;
  min-height: 16rem;

  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 1.2rem;

  padding: clamp(1.25rem, 3vw, 1.8rem);

  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 1.35rem;

  background: #131315;
  color: #ffffff;
}
.otranto-service-card--featured {
  border-color: var(--red);

  background:
    radial-gradient(
      circle at 100% 0,
      rgba(212, 20, 28, 0.28),
      transparent 48%
    ),
    #131315;
}
.otranto-card-number {
  color: rgba(255, 255, 255, 0.14);

  font-family: var(--display);
  font-size: clamp(3rem, 6vw, 5rem);
  line-height: 0.8;
}
.otranto-service-card h3 {
  margin-top: 0.5rem;

  color: #ffffff;
  font-size: clamp(1.7rem, 3vw, 2.35rem);
}
.otranto-service-card p {
  margin-top: 0.65rem;

  color: #bdbdc3;
}
.otranto-service-card a {
  display: inline-flex;

  margin-top: 1rem;

  color: #ffffff;
  font-weight: 850;
  text-decoration: underline;
  text-underline-offset: 0.25rem;
}
.otranto-service-card a:hover {
  color: #ff5b61;
}
.otranto-request-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(25rem, 1.18fr);
  gap: clamp(2rem, 6vw, 5rem);
  align-items: start;
}
.otranto-request-copy {
  display: grid;
  gap: 1rem;
  align-content: start;
}
.otranto-request-points {
  display: grid;
  gap: 0.75rem;

  margin-top: 0.6rem;
}
.otranto-request-points article {
  padding: 1rem;

  border: 1px solid rgba(17, 17, 20, 0.12);
  border-radius: 1rem;

  background: #ffffff;
}
.otranto-request-points strong {
  color: var(--ink);
}
.otranto-request-points p {
  margin-top: 0.2rem;

  color: var(--ink-muted);
  font-size: 0.88rem;
}
.otranto-request-form {
  min-width: 0;

  display: grid;
  gap: 1.1rem;

  padding: clamp(1.25rem, 3vw, 2rem);

  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 1.6rem;

  background:
    radial-gradient(
      circle at 100% 0,
      rgba(212, 20, 28, 0.2),
      transparent 44%
    ),
    #111113;

  color: #ffffff;

  box-shadow: 0 25px 65px rgba(0, 0, 0, 0.22);
}
.otranto-form-heading {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;

  padding-bottom: 1rem;

  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}
.otranto-form-heading > div {
  display: grid;
  gap: 0.2rem;
}
.otranto-form-heading span {
  font-family: var(--display);
  font-size: clamp(1.6rem, 3vw, 2.25rem);
  line-height: 1;
}
.otranto-form-heading p {
  color: #a9a9af;
  font-size: 0.78rem;
}
.otranto-form-heading > strong {
  display: inline-flex;

  padding: 0.35rem 0.6rem;

  border-radius: 999px;

  background: rgba(255, 255, 255, 0.09);
  color: #d2d2d6;

  font-size: 0.72rem;
}
.otranto-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.85rem 1rem;
}
.otranto-request-form .field {
  min-width: 0;
}
.otranto-request-form .field label {
  color: #ffffff;
}
.otranto-request-form .field label > span {
  margin-left: 0.3rem;

  color: #98989f;
  font-size: 0.72rem;
  font-weight: 600;
}
.otranto-request-form .field input,
.otranto-request-form .field select,
.otranto-request-form .field textarea {
  min-height: 50px;

  border-color: rgba(255, 255, 255, 0.22);

  background: #08080a;
  color: #ffffff;
}
.otranto-request-form .field input:focus,
.otranto-request-form .field select:focus,
.otranto-request-form .field textarea:focus {
  border-color: var(--red);
}
.otranto-form-full {
  grid-column: 1 / -1;
}
.otranto-request-form textarea {
  min-height: 7rem;
}
.otranto-request-form .field-error {
  color: #ff9ea3;
}
.otranto-medical-notice {
  padding: 0.9rem 1rem;

  border-left: 4px solid var(--red);
  border-radius: 0 0.8rem 0.8rem 0;

  background: rgba(255, 255, 255, 0.055);
}
.otranto-medical-notice strong {
  color: #ffffff;
}
.otranto-medical-notice p {
  margin-top: 0.15rem;

  color: #bdbdc3;
  font-size: 0.82rem;
}
.otranto-submit {
  width: 100%;
  min-height: 54px;

  border: 0;
}
.otranto-request-form .form-status {
  min-height: 1.3rem;

  color: #ffffff;
}
.otranto-privacy {
  color: #929299;
  font-size: 0.72rem;
}
.otranto-gym-section {
  background: var(--paper);
}
.otranto-gym-links {
  display: grid;

  border-top: 1px solid rgba(17, 17, 20, 0.16);
}
.otranto-gym-links a {
  display: grid;
  grid-template-columns: 7rem minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;

  padding: 1rem 0;

  border-bottom: 1px solid rgba(17, 17, 20, 0.16);

  color: var(--ink);
  text-decoration: none;
}
.otranto-gym-links a > span {
  color: var(--red-dark);

  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.otranto-gym-links a > strong {
  color: var(--ink);
}
.otranto-gym-links a > b {
  color: var(--red);
  font-size: 1.4rem;
}
.otranto-gym-links a:hover strong,
.otranto-gym-links a:hover b {
  color: var(--red);
}
.otranto-gym-media {
  box-shadow: 0 24px 60px rgba(17, 17, 20, 0.15);
}
.otranto-final-cta .eyebrow {
  color: #ffffff;
}
.otranto-final-cta .eyebrow::before {
  background: #ffffff;
}
@media (max-width: 980px) {

  .otranto-route-layout,
  .otranto-request-layout {
    grid-template-columns: 1fr;
  }

  .otranto-request-copy {
    max-width: 48rem;
  }
}
@media (max-width: 760px) {

  .otranto-service-grid {
    grid-template-columns: 1fr;
  }

  .otranto-service-card {
    min-height: 0;
  }

  .otranto-gym-links a {
    grid-template-columns: 1fr auto;
  }

  .otranto-gym-links a > span {
    grid-column: 1 / -1;
  }
}
@media (max-width: 600px) {

  .otranto-hero-facts {
    display: grid;
    grid-template-columns: 1fr;
  }

  .otranto-hero-facts span {
    border-radius: 0.75rem;
  }

  .otranto-media-caption {
    position: static;

    border-width: 1px 0 0;
    border-radius: 0;

    background: #0a0a0c;
  }

  .otranto-route-steps article {
    grid-template-columns: 2.5rem minmax(0, 1fr);
  }

  .otranto-service-card {
    grid-template-columns: 1fr;
  }

  .otranto-card-number {
    font-size: 3rem;
  }

  .otranto-form-grid {
    grid-template-columns: 1fr;
  }

  .otranto-form-full {
    grid-column: auto;
  }

  .otranto-request-form {
    border-radius: 1.2rem;
  }

  .otranto-form-heading {
    flex-direction: column;
  }
}
.salento-hero {
  position: relative;
  overflow: hidden;
}
.salento-hero::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: -18rem;
  right: -12rem;

  width: 40rem;
  height: 40rem;

  border-radius: 50%;
  background: rgba(212, 20, 28, 0.15);
  filter: blur(105px);
}
.salento-hero-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
}
.salento-hero-facts span {
  display: inline-flex;
  align-items: center;
  gap: 0.38rem;

  padding: 0.58rem 0.75rem;

  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 999px;

  background: rgba(255, 255, 255, 0.055);
  color: #bdbdc3;

  font-size: 0.8rem;
  line-height: 1.2;
}
.salento-hero-facts strong {
  color: #ffffff;
}
.salento-hero-note {
  max-width: 48rem;

  padding-left: 0.9rem;

  border-left: 3px solid var(--red);

  color: #bdbdc3;
  font-size: 0.84rem;
}
.salento-hero-media {
  position: relative;
}
.salento-media-caption {
  position: absolute;
  z-index: 2;
  right: 1rem;
  bottom: 1rem;
  left: 1rem;

  display: grid;
  gap: 0.12rem;

  padding: 0.85rem 0.95rem;

  border: 1px solid rgba(255, 255, 255, 0.17);
  border-radius: 0.9rem;

  background: rgba(5, 5, 6, 0.84);
  color: #ffffff;

  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.salento-media-caption strong {
  font-size: 0.9rem;
}
.salento-media-caption span {
  color: #bcbcc2;
  font-size: 0.76rem;
}
.salento-brief-section {
  background: var(--paper);
}
.salento-quick-facts {
  background:
    radial-gradient(
      circle at 0 0,
      rgba(212, 20, 28, 0.08),
      transparent 24rem
    ),
    #ffffff;
}
.salento-choice-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.salento-choice-card {
  min-width: 0;
  min-height: 19rem;

  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 1.2rem;

  padding: clamp(1.3rem, 3vw, 2rem);

  border: 1px solid rgba(17, 17, 20, 0.12);
  border-radius: 1.4rem;

  background: #ffffff;
  box-shadow: 0 20px 50px rgba(17, 17, 20, 0.08);
}
.salento-choice-card--featured {
  border-color: var(--red);

  background:
    radial-gradient(
      circle at 100% 0,
      rgba(212, 20, 28, 0.14),
      transparent 48%
    ),
    #ffffff;
}
.salento-choice-number {
  color: var(--red);

  font-family: var(--display);
  font-size: clamp(3rem, 6vw, 5rem);
  line-height: 0.8;
}
.salento-choice-card h3 {
  margin-top: 0.45rem;

  color: var(--ink);
  font-size: clamp(1.8rem, 3vw, 2.4rem);
}
.salento-choice-card p {
  margin-top: 0.65rem;

  color: var(--ink-muted);
}
.salento-card-links {
  display: grid;
  gap: 0.45rem;

  margin-top: 1rem;
}
.salento-card-links a {
  width: fit-content;

  color: var(--ink);
  font-weight: 850;
  text-decoration: underline;
  text-underline-offset: 0.24rem;
}
.salento-card-links a:hover {
  color: var(--red);
}
.salento-proof-section {
  background:
    radial-gradient(
      circle at 85% 10%,
      rgba(212, 20, 28, 0.17),
      transparent 34rem
    ),
    #050505;
}
.salento-proof-section h2 {
  color: #ffffff;
}
.salento-proof-section .lead {
  color: #c4c4ca;
}
.salento-proof-links {
  display: grid;

  border-top: 1px solid rgba(255, 255, 255, 0.15);
}
.salento-proof-links a {
  display: grid;
  grid-template-columns: 7rem minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;

  padding: 1rem 0;

  border-bottom: 1px solid rgba(255, 255, 255, 0.15);

  color: #ffffff;
  text-decoration: none;
}
.salento-proof-links a > span {
  color: #ff656b;

  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.salento-proof-links a > strong {
  color: #ffffff;
}
.salento-proof-links a > b {
  color: var(--red);
  font-size: 1.4rem;
}
.salento-proof-links a:hover strong,
.salento-proof-links a:hover b {
  color: #ff656b;
}
.salento-proof-media {
  box-shadow: 0 26px 65px rgba(0, 0, 0, 0.4);
}
.salento-service-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.salento-service-card {
  min-width: 0;
  min-height: 15rem;

  display: flex;
  flex-direction: column;
  align-items: flex-start;

  padding: clamp(1.25rem, 3vw, 1.8rem);

  border: 1px solid rgba(17, 17, 20, 0.12);
  border-radius: 1.3rem;

  background: #ffffff;
  box-shadow: 0 18px 45px rgba(17, 17, 20, 0.08);
}
.salento-service-card--featured {
  border-color: var(--red);

  background:
    linear-gradient(
      145deg,
      rgba(212, 20, 28, 0.07),
      #ffffff 55%
    );
}
.salento-service-label {
  color: var(--red-dark);

  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.salento-service-card h3 {
  margin-top: 0.55rem;

  color: var(--ink);
  font-size: clamp(1.8rem, 3vw, 2.35rem);
}
.salento-service-card p {
  margin-top: 0.6rem;

  color: var(--ink-muted);
}
.salento-service-card a {
  display: inline-flex;

  margin-top: auto;
  padding-top: 1.1rem;

  color: var(--ink);
  font-weight: 850;
  text-decoration: underline;
  text-underline-offset: 0.24rem;
}
.salento-service-card a:hover {
  color: var(--red);
}
.salento-request-section {
  background:
    radial-gradient(
      circle at 0 0,
      rgba(212, 20, 28, 0.2),
      transparent 34rem
    ),
    #050505;
}
.salento-request-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(25rem, 1.18fr);
  gap: clamp(2rem, 6vw, 5rem);
  align-items: start;
}
.salento-request-copy {
  display: grid;
  gap: 1rem;
  align-content: start;
}
.salento-request-copy h2 {
  color: #ffffff;
}
.salento-request-copy .lead {
  color: #c4c4ca;
}
.salento-request-benefits {
  display: grid;
  gap: 0.75rem;

  margin-top: 0.5rem;
}
.salento-request-benefits article {
  padding: 1rem;

  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 1rem;

  background: rgba(255, 255, 255, 0.055);
}
.salento-request-benefits strong {
  color: #ffffff;
}
.salento-request-benefits p {
  margin-top: 0.2rem;

  color: #bdbdc3;
  font-size: 0.88rem;
}
.salento-request-form {
  min-width: 0;

  display: grid;
  gap: 1.1rem;

  padding: clamp(1.25rem, 3vw, 2rem);

  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 1.6rem;

  background:
    radial-gradient(
      circle at 100% 0,
      rgba(212, 20, 28, 0.2),
      transparent 44%
    ),
    #111113;

  color: #ffffff;

  box-shadow: 0 25px 65px rgba(0, 0, 0, 0.25);
}
.salento-form-heading {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;

  padding-bottom: 1rem;

  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}
.salento-form-heading > div {
  display: grid;
  gap: 0.2rem;
}
.salento-form-heading span {
  font-family: var(--display);
  font-size: clamp(1.6rem, 3vw, 2.25rem);
  line-height: 1;
}
.salento-form-heading p {
  color: #a9a9af;
  font-size: 0.78rem;
}
.salento-form-heading > strong {
  padding: 0.35rem 0.6rem;

  border-radius: 999px;

  background: rgba(255, 255, 255, 0.09);
  color: #d2d2d6;

  font-size: 0.72rem;
}
.salento-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.85rem 1rem;
}
.salento-request-form .field {
  min-width: 0;
}
.salento-request-form .field label {
  color: #ffffff;
}
.salento-request-form .field label > span {
  margin-left: 0.3rem;

  color: #98989f;
  font-size: 0.72rem;
  font-weight: 600;
}
.salento-request-form .field input,
.salento-request-form .field select,
.salento-request-form .field textarea {
  min-height: 50px;

  border-color: rgba(255, 255, 255, 0.22);

  background: #08080a;
  color: #ffffff;
}
.salento-request-form .field input:focus,
.salento-request-form .field select:focus,
.salento-request-form .field textarea:focus {
  border-color: var(--red);
}
.salento-form-full {
  grid-column: 1 / -1;
}
.salento-request-form textarea {
  min-height: 7rem;
}
.salento-request-form .field-error {
  color: #ff9ea3;
}
.salento-medical-notice {
  padding: 0.9rem 1rem;

  border-left: 4px solid var(--red);
  border-radius: 0 0.8rem 0.8rem 0;

  background: rgba(255, 255, 255, 0.055);
}
.salento-medical-notice strong {
  color: #ffffff;
}
.salento-medical-notice p {
  margin-top: 0.15rem;

  color: #bdbdc3;
  font-size: 0.82rem;
}
.salento-submit {
  width: 100%;
  min-height: 54px;

  border: 0;
}
.salento-request-form .form-status {
  min-height: 1.3rem;

  color: #ffffff;
}
.salento-privacy {
  color: #929299;
  font-size: 0.72rem;
}
.salento-address {
  display: grid;
  gap: 0.2rem;

  padding: 1.1rem 1.2rem;

  border-left: 4px solid var(--red);
  border-radius: 0 1rem 1rem 0;

  background: #ffffff;
  box-shadow: 0 18px 45px rgba(17, 17, 20, 0.08);
}
.salento-address > span {
  color: var(--red-dark);

  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.salento-address strong {
  color: var(--ink);
  font-size: 1.15rem;
}
.salento-address p {
  color: var(--ink-muted);
}
.salento-location-media {
  box-shadow: 0 24px 60px rgba(17, 17, 20, 0.15);
}
.salento-final-cta .eyebrow {
  color: #ffffff;
}
.salento-final-cta .eyebrow::before {
  background: #ffffff;
}
@media (max-width: 980px) {

  .salento-request-layout {
    grid-template-columns: 1fr;
  }

  .salento-request-copy {
    max-width: 48rem;
  }
}
@media (max-width: 760px) {

  .salento-choice-grid,
  .salento-service-grid {
    grid-template-columns: 1fr;
  }

  .salento-choice-card,
  .salento-service-card {
    min-height: 0;
  }

  .salento-proof-links a {
    grid-template-columns: 1fr auto;
  }

  .salento-proof-links a > span {
    grid-column: 1 / -1;
  }
}
@media (max-width: 600px) {

  .salento-hero-facts {
    display: grid;
    grid-template-columns: 1fr;
  }

  .salento-hero-facts span {
    border-radius: 0.75rem;
  }

  .salento-media-caption {
    position: static;

    border-width: 1px 0 0;
    border-radius: 0;

    background: #0a0a0c;
  }

  .salento-choice-card {
    grid-template-columns: 1fr;
  }

  .salento-choice-number {
    font-size: 3.2rem;
  }

  .salento-form-grid {
    grid-template-columns: 1fr;
  }

  .salento-form-full {
    grid-column: auto;
  }

  .salento-request-form {
    border-radius: 1.2rem;
  }

  .salento-form-heading {
    flex-direction: column;
  }
}
.women-page {
  overflow: hidden;
}
.women-hero {
  position: relative;
  overflow: hidden;
}
.women-hero::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: -15rem;
  right: -10rem;

  width: 38rem;
  height: 38rem;

  border-radius: 50%;
  background: rgba(213, 25, 33, 0.15);
  filter: blur(105px);
}
.women-hero-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
}
.women-hero-facts span {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;

  padding: 0.58rem 0.76rem;

  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 999px;

  background: rgba(255, 255, 255, 0.055);
  color: #bfc0c5;

  font-size: 0.78rem;
  line-height: 1.2;
}
.women-hero-facts strong {
  color: #ffffff;
}
.women-hero-note {
  max-width: 45rem;

  padding-left: 0.9rem;

  border-left: 3px solid var(--red);

  color: #bebec3;
  font-size: 0.82rem;
}
.women-hero-media {
  position: relative;
}
.women-media-caption {
  position: absolute;
  z-index: 2;
  right: 1rem;
  bottom: 1rem;
  left: 1rem;

  display: grid;
  gap: 0.1rem;

  padding: 0.85rem 0.95rem;

  border: 1px solid rgba(255, 255, 255, 0.17);
  border-radius: 0.9rem;

  background: rgba(6, 6, 7, 0.85);
  color: #ffffff;

  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.women-media-caption strong {
  color: #ffffff;
  font-size: 0.9rem;
}
.women-media-caption span {
  color: #bdbdc2;
  font-size: 0.76rem;
}
.women-brief-section {
  background: var(--paper, #f2efec);
}
.women-brief {
  display: grid;
  grid-template-columns: minmax(14rem, 0.62fr) minmax(0, 1.38fr);
  gap: clamp(1.5rem, 5vw, 4rem);

  padding: clamp(1.5rem, 4vw, 2.5rem);

  border: 1px solid rgba(17, 17, 20, 0.1);
  border-radius: 1.6rem;

  background:
    radial-gradient(
      circle at 0 0,
      rgba(213, 25, 33, 0.08),
      transparent 24rem
    ),
    #ffffff;

  box-shadow: 0 22px 55px rgba(17, 17, 20, 0.09);
}
.women-brief-heading {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.women-brief-heading h2 {
  color: #111114;
}
.women-brief-heading > p {
  max-width: 18rem;
  margin-top: 0.75rem;

  color: #5e5e65;
}
.women-brief-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.8rem;
}
.women-brief-grid article {
  min-width: 0;

  padding: 1.15rem;

  border: 1px solid rgba(17, 17, 20, 0.09);
  border-radius: 1rem;

  background: #f4f2f0;
}
.women-brief-grid article > span {
  display: block;

  color: #ca171f;

  font-size: 0.7rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.women-brief-grid strong {
  display: block;

  margin-top: 0.35rem;

  color: #111114;
  font-size: 0.98rem;
}
.women-brief-grid p {
  margin-top: 0.35rem;

  color: #5e5e65;
  font-size: 0.84rem;
}
.women-options-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.women-option-card {
  min-width: 0;
  min-height: 25rem;

  display: flex;
  flex-direction: column;
  align-items: flex-start;

  padding: clamp(1.3rem, 3vw, 2rem);

  border: 1px solid rgba(17, 17, 20, 0.12);
  border-radius: 1.4rem;

  background: #ffffff;

  box-shadow: 0 20px 50px rgba(17, 17, 20, 0.08);
}
.women-option-card--featured {
  border-color: var(--red);

  background:
    radial-gradient(
      circle at 100% 0,
      rgba(213, 25, 33, 0.14),
      transparent 52%
    ),
    #ffffff;
}
.women-option-top {
  width: 100%;

  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
}
.women-option-number {
  color: rgba(213, 25, 33, 0.2);

  font-family: var(--display);
  font-size: clamp(3rem, 6vw, 5rem);
  line-height: 0.8;
}
.women-option-label {
  padding: 0.35rem 0.55rem;

  border-radius: 999px;

  background: #f0eeec;
  color: #bb151d;

  font-size: 0.7rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.women-option-card h3 {
  margin-top: 1rem;

  color: #111114;
  font-size: clamp(2rem, 3.5vw, 2.7rem);
}
.women-option-card > p {
  margin-top: 0.6rem;

  color: #595960;
}
.women-option-card ul {
  display: grid;
  gap: 0.45rem;

  margin: 1rem 0 0;
  padding: 0;

  list-style: none;
}
.women-option-card li {
  position: relative;

  padding-left: 1.25rem;

  color: #3f3f45;
  font-size: 0.85rem;
}
.women-option-card li::before {
  content: "✓";

  position: absolute;
  left: 0;

  color: var(--red);
  font-weight: 900;
}
.women-option-card > a {
  display: inline-flex;

  margin-top: auto;
  padding-top: 1.25rem;

  color: #111114;
  font-weight: 900;
  text-decoration: underline;
  text-underline-offset: 0.25rem;
}
.women-option-card > a:hover {
  color: var(--red);
}
.women-proof-section {
  background:
    radial-gradient(
      circle at 85% 10%,
      rgba(213, 25, 33, 0.17),
      transparent 35rem
    ),
    #050505;
}
.women-proof-section h2 {
  color: #ffffff;
}
.women-proof-section .lead {
  color: #c4c4c9;
}
.women-proof-list {
  display: grid;
  gap: 0.7rem;
}
.women-proof-list article {
  padding: 0.95rem 1rem;

  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 0.95rem;

  background: rgba(255, 255, 255, 0.05);
}
.women-proof-list strong {
  color: #ffffff;
}
.women-proof-list p {
  margin-top: 0.2rem;

  color: #bcbcc2;
  font-size: 0.85rem;
}
.women-proof-media {
  box-shadow: 0 28px 70px rgba(0, 0, 0, 0.42);
}
.women-goals-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.9rem;
}
.women-goals-grid article {
  min-width: 0;

  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 1rem;
  align-items: flex-start;

  padding: 1.3rem;

  border: 1px solid rgba(17, 17, 20, 0.11);
  border-radius: 1.1rem;

  background: #ffffff;

  box-shadow: 0 16px 40px rgba(17, 17, 20, 0.07);
}
.women-goals-grid article > span {
  color: var(--red);

  font-family: var(--display);
  font-size: 2.5rem;
  line-height: 0.85;
}
.women-goals-grid h3 {
  color: #111114;
  font-size: 1.55rem;
}
.women-goals-grid p {
  margin-top: 0.35rem;

  color: #5d5d64;
}
.women-start-section {
  background: #050505;
}
.women-start-section h2 {
  color: #ffffff;
}
.women-start-section .section-head .lead {
  color: #c5c5ca;
}
.women-start-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}
.women-start-grid article {
  min-width: 0;
  min-height: 15rem;

  padding: 1.35rem;

  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 1.2rem;

  background:
    linear-gradient(
      145deg,
      rgba(255, 255, 255, 0.07),
      rgba(255, 255, 255, 0.025)
    );
}
.women-start-number {
  display: block;

  color: var(--red);

  font-family: var(--display);
  font-size: 3rem;
  line-height: 0.85;
}
.women-start-grid h3 {
  margin-top: 1.2rem;

  color: #ffffff;
  font-size: 1.65rem;
}
.women-start-grid p {
  margin-top: 0.4rem;

  color: #bdbdc2;
}
.women-start-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;

  margin-top: 1.3rem;
}
.women-final-cta .eyebrow {
  color: #ffffff;
}
.women-final-cta .eyebrow::before {
  background: #ffffff;
}
.women-page a:focus {
  outline: none;
}
.women-page a:focus-visible,
.women-page button:focus-visible,
.women-page summary:focus-visible {
  outline: 3px solid var(--red);
  outline-offset: 4px;
}
@media (max-width: 900px) {

  .women-brief {
    grid-template-columns: 1fr;
  }

  .women-brief-heading > p {
    max-width: 35rem;
  }

  .women-start-grid {
    grid-template-columns: 1fr;
  }

  .women-start-grid article {
    min-height: 0;
  }
}
@media (max-width: 760px) {

  .women-options-grid,
  .women-goals-grid {
    grid-template-columns: 1fr;
  }

  .women-option-card {
    min-height: 0;
  }
}
@media (max-width: 620px) {

  .women-hero-facts {
    display: grid;
    grid-template-columns: 1fr;
  }

  .women-hero-facts span {
    border-radius: 0.75rem;
  }

  .women-media-caption {
    position: static;

    border-width: 1px 0 0;
    border-radius: 0;

    background: #09090a;
  }

  .women-brief-grid {
    grid-template-columns: 1fr;
  }

  .women-goals-grid article {
    grid-template-columns: 1fr;
  }

  .women-start-actions {
    display: grid;
  }

  .women-start-actions .button {
    width: 100%;
  }
}
.over50-page {
  overflow: hidden;
}
.over50-hero {
  position: relative;
  overflow: hidden;
}
.over50-hero::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: -16rem;
  right: -9rem;

  width: 40rem;
  height: 40rem;

  border-radius: 50%;
  background: rgba(213, 25, 33, 0.14);
  filter: blur(110px);
}
.over50-hero-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
}
.over50-hero-facts span {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;

  padding: 0.58rem 0.76rem;

  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 999px;

  background: rgba(255, 255, 255, 0.055);
  color: #bfc0c5;

  font-size: 0.78rem;
  line-height: 1.2;
}
.over50-hero-facts strong {
  color: #ffffff;
}
.over50-hero-note {
  max-width: 46rem;

  padding-left: 0.9rem;

  border-left: 3px solid var(--red);

  color: #bebec3;
  font-size: 0.82rem;
}
.over50-hero-media {
  position: relative;
}
.over50-media-caption {
  position: absolute;
  z-index: 2;
  right: 1rem;
  bottom: 1rem;
  left: 1rem;

  display: grid;
  gap: 0.1rem;

  padding: 0.85rem 0.95rem;

  border: 1px solid rgba(255, 255, 255, 0.17);
  border-radius: 0.9rem;

  background: rgba(6, 6, 7, 0.86);
  color: #ffffff;

  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.over50-media-caption strong {
  color: #ffffff;
  font-size: 0.9rem;
}
.over50-media-caption span {
  color: #bdbdc2;
  font-size: 0.76rem;
}
.over50-brief-section {
  background: var(--paper, #f2efec);
}
.over50-brief {
  display: grid;
  grid-template-columns: minmax(14rem, 0.62fr) minmax(0, 1.38fr);
  gap: clamp(1.5rem, 5vw, 4rem);

  padding: clamp(1.5rem, 4vw, 2.5rem);

  border: 1px solid rgba(17, 17, 20, 0.1);
  border-radius: 1.6rem;

  background:
    radial-gradient(
      circle at 0 0,
      rgba(213, 25, 33, 0.075),
      transparent 24rem
    ),
    #ffffff;

  box-shadow: 0 22px 55px rgba(17, 17, 20, 0.09);
}
.over50-brief-heading {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.over50-brief-heading h2 {
  color: #111114;
}
.over50-brief-heading > p {
  max-width: 19rem;
  margin-top: 0.75rem;

  color: #5e5e65;
}
.over50-brief-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.8rem;
}
.over50-brief-grid article {
  min-width: 0;

  padding: 1.15rem;

  border: 1px solid rgba(17, 17, 20, 0.09);
  border-radius: 1rem;

  background: #f4f2f0;
}
.over50-brief-grid article > span {
  display: block;

  color: #ca171f;

  font-size: 0.7rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.over50-brief-grid strong {
  display: block;

  margin-top: 0.35rem;

  color: #111114;
  font-size: 0.98rem;
}
.over50-brief-grid p {
  margin-top: 0.35rem;

  color: #5e5e65;
  font-size: 0.84rem;
}
.over50-needs-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}
.over50-need-card {
  min-width: 0;
  min-height: 21rem;

  display: flex;
  flex-direction: column;

  padding: 1.4rem;

  border: 1px solid rgba(17, 17, 20, 0.11);
  border-radius: 1.35rem;

  background: #ffffff;

  box-shadow: 0 20px 50px rgba(17, 17, 20, 0.08);
}
.over50-need-card--featured {
  border-color: rgba(213, 25, 33, 0.55);

  background:
    radial-gradient(
      circle at 100% 0,
      rgba(213, 25, 33, 0.18),
      transparent 55%
    ),
    linear-gradient(145deg, #171719, #080809);

  color: #ffffff;
}
.over50-need-top {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: flex-start;
}
.over50-need-number {
  color: rgba(213, 25, 33, 0.25);

  font-family: var(--display);
  font-size: clamp(3.2rem, 5vw, 4.5rem);
  line-height: 0.8;
}
.over50-need-card--featured .over50-need-number {
  color: rgba(255, 255, 255, 0.12);
}
.over50-need-label {
  padding: 0.34rem 0.55rem;

  border-radius: 999px;

  background: #efedeb;
  color: #bd151d;

  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.over50-need-card--featured .over50-need-label {
  background: rgba(255, 255, 255, 0.1);
  color: #ff5960;
}
.over50-need-card h3 {
  margin-top: 1.3rem;

  color: #111114;
  font-size: clamp(1.75rem, 2.7vw, 2.25rem);
}
.over50-need-card--featured h3 {
  color: #ffffff;
}
.over50-need-card p {
  margin-top: 0.6rem;

  color: #5d5d64;
}
.over50-need-card--featured p {
  color: #c8c8cd;
}
.over50-options-section {
  background:
    radial-gradient(
      circle at 85% 10%,
      rgba(213, 25, 33, 0.16),
      transparent 34rem
    ),
    #050505;
}
.over50-options-section h2 {
  color: #ffffff;
}
.over50-options-section .section-head .lead {
  color: #c5c5ca;
}
.over50-options-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}
.over50-option {
  min-width: 0;
  min-height: 29rem;

  display: flex;
  flex-direction: column;
  align-items: flex-start;

  padding: clamp(1.3rem, 3vw, 1.8rem);

  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 1.35rem;

  background:
    linear-gradient(
      145deg,
      rgba(255, 255, 255, 0.075),
      rgba(255, 255, 255, 0.025)
    );
}
.over50-option--featured {
  border-color: rgba(213, 25, 33, 0.75);

  background:
    radial-gradient(
      circle at 100% 0,
      rgba(213, 25, 33, 0.25),
      transparent 60%
    ),
    linear-gradient(
      145deg,
      rgba(255, 255, 255, 0.08),
      rgba(255, 255, 255, 0.025)
    );
}
.over50-option-tag {
  display: inline-flex;

  padding: 0.36rem 0.56rem;

  border-radius: 999px;

  background: rgba(255, 255, 255, 0.09);
  color: #ff5c63;

  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}
.over50-option h3 {
  margin-top: 1.25rem;

  color: #ffffff;
  font-size: clamp(2rem, 3vw, 2.6rem);
}
.over50-option > p {
  margin-top: 0.65rem;

  color: #c4c4c9;
}
.over50-option ul {
  display: grid;
  gap: 0.5rem;

  margin: 1rem 0 0;
  padding: 0;

  list-style: none;
}
.over50-option li {
  position: relative;

  padding-left: 1.25rem;

  color: #d7d7da;
  font-size: 0.85rem;
}
.over50-option li::before {
  content: "✓";

  position: absolute;
  left: 0;

  color: var(--red);
  font-weight: 900;
}
.over50-option > a {
  display: inline-flex;

  margin-top: auto;
  padding-top: 1.3rem;

  color: #ffffff;
  font-weight: 900;
  text-decoration: underline;
  text-underline-offset: 0.25rem;
}
.over50-option > a:hover {
  color: #ff4c54;
}
.over50-visit-section {
  background: var(--paper, #f2efec);
}
.over50-visit-section h2 {
  color: #111114;
}
.over50-visit-section .lead {
  color: #595960;
}
.over50-visit-list {
  display: grid;
  gap: 0.7rem;
}
.over50-visit-list article {
  padding: 0.95rem 1rem;

  border: 1px solid rgba(17, 17, 20, 0.11);
  border-radius: 0.95rem;

  background: #ffffff;
}
.over50-visit-list strong {
  color: #111114;
}
.over50-visit-list p {
  margin-top: 0.2rem;

  color: #5d5d64;
  font-size: 0.85rem;
}
.over50-visit-media {
  box-shadow: 0 28px 65px rgba(17, 17, 20, 0.16);
}
.over50-start-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}
.over50-start-grid article {
  min-width: 0;
  min-height: 16rem;

  display: grid;
  grid-template-rows: auto 1fr;

  padding: 1.35rem;

  border: 1px solid rgba(17, 17, 20, 0.11);
  border-radius: 1.2rem;

  background: #ffffff;

  box-shadow: 0 16px 42px rgba(17, 17, 20, 0.07);
}
.over50-start-number {
  display: block;

  color: rgba(213, 25, 33, 0.28);

  font-family: var(--display);
  font-size: 3.5rem;
  line-height: 0.8;
}
.over50-start-grid h3 {
  margin-top: 1.2rem;

  color: #111114;
  font-size: 1.7rem;
}
.over50-start-grid p {
  margin-top: 0.45rem;

  color: #5d5d64;
}
.over50-final-cta .eyebrow {
  color: #ffffff;
}
.over50-final-cta .eyebrow::before {
  background: #ffffff;
}
.over50-page a:focus-visible,
.over50-page button:focus-visible,
.over50-page summary:focus-visible {
  outline: 3px solid var(--red);
  outline-offset: 4px;
}
@media (max-width: 1100px) {

  .over50-needs-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .over50-need-card {
    min-height: 19rem;
  }
}
@media (max-width: 900px) {

  .over50-brief {
    grid-template-columns: 1fr;
  }

  .over50-brief-heading > p {
    max-width: 35rem;
  }

  .over50-options-grid,
  .over50-start-grid {
    grid-template-columns: 1fr;
  }

  .over50-option,
  .over50-start-grid article {
    min-height: 0;
  }
}
@media (max-width: 700px) {

  .over50-needs-grid {
    grid-template-columns: 1fr;
  }

  .over50-need-card {
    min-height: 0;
  }
}
@media (max-width: 620px) {

  .over50-hero-facts {
    display: grid;
    grid-template-columns: 1fr;
  }

  .over50-hero-facts span {
    border-radius: 0.75rem;
  }

  .over50-media-caption {
    position: static;

    border-width: 1px 0 0;
    border-radius: 0;

    background: #09090a;
  }

  .over50-brief-grid {
    grid-template-columns: 1fr;
  }
}
.turnisti-page {
  overflow: clip;
}
.turnisti-page .turnisti-hero {
  position: relative;
  overflow: hidden;

  margin-top: 0 !important;

  padding-top: clamp(6.5rem, 10vw, 9rem) !important;
  padding-bottom: clamp(4.5rem, 8vw, 7rem) !important;

  background:
    radial-gradient(
      circle at 82% 28%,
      rgba(219, 19, 31, 0.18),
      transparent 33rem
    ),
    #050505;
}
.turnisti-page .turnisti-hero::before {
  content: "";

  position: absolute;
  top: -20rem;
  left: -14rem;
  z-index: 0;

  width: 38rem;
  height: 38rem;

  border-radius: 50%;

  background: rgba(210, 20, 30, 0.09);
  filter: blur(110px);
}
.turnisti-page .turnisti-hero .container {
  position: relative;
  z-index: 1;
}
.turnisti-hero-content {
  --gap: 1.15rem;
}
.turnisti-hero-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
}
.turnisti-hero-facts span {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;

  padding: 0.6rem 0.8rem;

  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 999px;

  background: rgba(255, 255, 255, 0.055);
  color: #bebec3;

  font-size: 0.78rem;
  line-height: 1.2;
}
.turnisti-hero-facts strong {
  color: #ffffff;
}
.turnisti-access-note {
  display: grid;
  gap: 0.25rem;

  max-width: 43rem;

  padding: 0.9rem 1rem;

  border-left: 3px solid var(--red);
  border-radius: 0 0.8rem 0.8rem 0;

  background: rgba(255, 255, 255, 0.055);
}
.turnisti-access-note strong {
  color: #ffffff;
  font-size: 0.87rem;
}
.turnisti-access-note span {
  color: #bebec4;
  font-size: 0.8rem;
  line-height: 1.55;
}
.turnisti-access-note a {
  color: #ffffff;
  text-decoration: underline;
  text-underline-offset: 0.2rem;
}
.turnisti-hero-media {
  position: relative;
}
.turnisti-media-caption {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  left: 1rem;

  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.75rem;
  align-items: center;

  padding: 0.9rem 1rem;

  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 0.95rem;

  background: rgba(5, 5, 6, 0.86);

  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.turnisti-media-status {
  width: 0.7rem;
  height: 0.7rem;

  border-radius: 50%;

  background: #e31320;
  box-shadow: 0 0 0 0.35rem rgba(227, 19, 32, 0.16);
}
.turnisti-media-caption div {
  min-width: 0;

  display: grid;
  gap: 0.1rem;
}
.turnisti-media-caption strong {
  color: #ffffff;
  font-size: 0.86rem;
}
.turnisti-media-caption div > span {
  color: #bdbdc2;
  font-size: 0.75rem;
}
.turnisti-brief-section {
  background: var(--paper, #f2efec);
}
.turnisti-brief {
  display: grid;
  grid-template-columns: minmax(14rem, 0.62fr) minmax(0, 1.38fr);
  gap: clamp(1.5rem, 5vw, 4rem);

  padding: clamp(1.5rem, 4vw, 2.5rem);

  border: 1px solid rgba(17, 17, 20, 0.1);
  border-radius: 1.6rem;

  background:
    radial-gradient(
      circle at 0 0,
      rgba(214, 23, 32, 0.075),
      transparent 24rem
    ),
    #ffffff;

  box-shadow: 0 22px 55px rgba(17, 17, 20, 0.09);
}
.turnisti-brief-heading {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.turnisti-brief-heading h2 {
  color: #111114;
}
.turnisti-brief-heading > p {
  max-width: 19rem;
  margin-top: 0.75rem;

  color: #5e5e65;
}
.turnisti-brief-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.8rem;
}
.turnisti-brief-grid article {
  min-width: 0;

  padding: 1.15rem;

  border: 1px solid rgba(17, 17, 20, 0.09);
  border-radius: 1rem;

  background: #f4f2f0;
}
.turnisti-brief-grid article > span {
  display: block;

  color: #ca171f;

  font-size: 0.69rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.turnisti-brief-grid strong {
  display: block;

  margin-top: 0.35rem;

  color: #111114;
  font-size: 0.98rem;
}
.turnisti-brief-grid p {
  margin-top: 0.35rem;

  color: #5e5e65;
  font-size: 0.84rem;
}
.turnisti-shifts-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}
.turnisti-shift-card {
  min-width: 0;
  min-height: 22rem;

  display: flex;
  flex-direction: column;
  align-items: flex-start;

  padding: 1.5rem;

  border: 1px solid rgba(17, 17, 20, 0.11);
  border-radius: 1.35rem;

  background: #ffffff;

  box-shadow: 0 20px 50px rgba(17, 17, 20, 0.08);
}
.turnisti-shift-card--featured {
  border-color: rgba(213, 25, 33, 0.55);

  background:
    radial-gradient(
      circle at 100% 0,
      rgba(213, 25, 33, 0.12),
      transparent 60%
    ),
    #ffffff;
}
.turnisti-shift-card--night {
  border-color: rgba(213, 25, 33, 0.55);

  background:
    radial-gradient(
      circle at 100% 0,
      rgba(213, 25, 33, 0.2),
      transparent 58%
    ),
    linear-gradient(145deg, #19191b, #070708);
}
.turnisti-shift-icon {
  width: 3.25rem;
  height: 3.25rem;

  display: grid;
  place-items: center;

  border-radius: 1rem;

  background: #efedeb;
  color: #c81720;

  font-size: 0.76rem;
  font-weight: 950;
  letter-spacing: 0.04em;
}
.turnisti-shift-card--night .turnisti-shift-icon {
  background: rgba(255, 255, 255, 0.1);
  color: #ff555d;
}
.turnisti-shift-label {
  margin-top: 1.25rem;

  color: #c81720;

  font-size: 0.69rem;
  font-weight: 950;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.turnisti-shift-card h3 {
  margin-top: 0.45rem;

  color: #111114;
  font-size: clamp(1.7rem, 2.8vw, 2.3rem);
}
.turnisti-shift-card p {
  margin-top: 0.65rem;

  color: #5d5d64;
}
.turnisti-shift-card--night h3 {
  color: #ffffff;
}
.turnisti-shift-card--night p {
  color: #c8c8cd;
}
.turnisti-h24-section {
  background:
    radial-gradient(
      circle at 87% 12%,
      rgba(213, 25, 33, 0.17),
      transparent 35rem
    ),
    #050505;
}
.turnisti-h24-content h2 {
  color: #ffffff;
}
.turnisti-h24-content > .lead {
  color: #c4c4c9;
}
.turnisti-h24-steps {
  display: grid;
  gap: 0.7rem;

  margin-top: 0.5rem;
}
.turnisti-h24-steps article {
  min-width: 0;

  display: grid;
  grid-template-columns: 2.4rem minmax(0, 1fr);
  gap: 0.8rem;

  padding: 0.9rem 1rem;

  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 0.95rem;

  background: rgba(255, 255, 255, 0.045);
}
.turnisti-h24-steps article > span {
  color: #ed1c27;

  font-family: var(--display);
  font-size: 1.35rem;
  line-height: 1;
}
.turnisti-h24-steps h3 {
  color: #ffffff;
  font-size: 1rem;
}
.turnisti-h24-steps p {
  margin-top: 0.2rem;

  color: #bdbdc2;
  font-size: 0.82rem;
}
.turnisti-h24-actions {
  margin-top: 0.4rem;
}
.turnisti-h24-media {
  position: relative;
}
.turnisti-h24-media figcaption {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  left: 1rem;

  display: grid;
  gap: 0.1rem;

  padding: 0.85rem 0.95rem;

  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 0.9rem;

  background: rgba(5, 5, 6, 0.86);

  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.turnisti-h24-media figcaption strong {
  color: #ffffff;
  font-size: 0.87rem;
}
.turnisti-h24-media figcaption span {
  color: #bdbdc2;
  font-size: 0.75rem;
}
.turnisti-plan-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.turnisti-plan-card {
  min-width: 0;
  min-height: 15rem;

  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 1rem;

  padding: 1.4rem;

  border: 1px solid rgba(17, 17, 20, 0.11);
  border-radius: 1.2rem;

  background: #ffffff;

  box-shadow: 0 18px 45px rgba(17, 17, 20, 0.07);
}
.turnisti-plan-card--featured {
  border-color: rgba(213, 25, 33, 0.55);

  background:
    radial-gradient(
      circle at 100% 0,
      rgba(213, 25, 33, 0.2),
      transparent 58%
    ),
    linear-gradient(145deg, #18181a, #080809);
}
.turnisti-plan-number {
  color: rgba(213, 25, 33, 0.24);

  font-family: var(--display);
  font-size: clamp(3rem, 5vw, 4.4rem);
  line-height: 0.8;
}
.turnisti-plan-card--featured .turnisti-plan-number {
  color: rgba(255, 255, 255, 0.12);
}
.turnisti-plan-tag {
  display: inline-flex;

  padding: 0.32rem 0.5rem;

  border-radius: 999px;

  background: #efedeb;
  color: #c81720;

  font-size: 0.65rem;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.turnisti-plan-card--featured .turnisti-plan-tag {
  background: rgba(255, 255, 255, 0.1);
  color: #ff555d;
}
.turnisti-plan-card h3 {
  margin-top: 0.8rem;

  color: #111114;
  font-size: clamp(1.55rem, 2.4vw, 2rem);
}
.turnisti-plan-card p {
  margin-top: 0.5rem;

  color: #5d5d64;
}
.turnisti-plan-card--featured h3 {
  color: #ffffff;
}
.turnisti-plan-card--featured p {
  color: #c7c7cc;
}
.turnisti-price-section {
  background: var(--paper, #f2efec);
}
.turnisti-price-box {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(16rem, 0.55fr);
  gap: clamp(1.5rem, 5vw, 4rem);
  align-items: center;

  padding: clamp(1.6rem, 4vw, 2.8rem);

  border: 1px solid rgba(17, 17, 20, 0.1);
  border-radius: 1.6rem;

  background: #ffffff;

  box-shadow: 0 24px 60px rgba(17, 17, 20, 0.1);
}
.turnisti-price-copy h2 {
  color: #111114;
}
.turnisti-price-copy > p {
  max-width: 48rem;
  margin-top: 0.7rem;

  color: #5c5c63;
}
.turnisti-price-copy ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;

  margin: 1.15rem 0 0;
  padding: 0;

  list-style: none;
}
.turnisti-price-copy li {
  padding: 0.5rem 0.7rem;

  border-radius: 999px;

  background: #f0eeec;
  color: #202024;

  font-size: 0.75rem;
  font-weight: 850;
}
.turnisti-price-action {
  display: flex;
  flex-direction: column;
  align-items: flex-start;

  padding: 1.4rem;

  border-radius: 1.2rem;

  background:
    radial-gradient(
      circle at 100% 0,
      rgba(213, 25, 33, 0.22),
      transparent 60%
    ),
    #111113;
}
.turnisti-price-from {
  color: #bdbdc2;

  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.turnisti-price-action > strong {
  color: #ffffff;

  font-family: var(--display);
  font-size: clamp(3.5rem, 7vw, 5.5rem);
  line-height: 0.95;
}
.turnisti-price-action > span:not(.turnisti-price-from) {
  color: #c5c5ca;
  font-size: 0.83rem;
}
.turnisti-price-action .button {
  width: 100%;

  margin-top: 1.2rem;
  text-align: center;
}
.turnisti-price-action small {
  display: block;

  margin-top: 0.75rem;

  color: #9f9fa5;
  font-size: 0.69rem;
  line-height: 1.5;
}
.turnisti-support-section h2 {
  color: #111114;
}
.turnisti-support-section .lead {
  color: #5c5c63;
}
.turnisti-support-list {
  display: grid;
  gap: 0.65rem;
}
.turnisti-support-list article {
  padding: 0.9rem 1rem;

  border: 1px solid rgba(17, 17, 20, 0.1);
  border-radius: 0.9rem;

  background: #ffffff;
}
.turnisti-support-list strong {
  color: #111114;
}
.turnisti-support-list p {
  margin-top: 0.2rem;

  color: #5d5d64;
  font-size: 0.83rem;
}
.turnisti-support-actions {
  margin-top: 0.3rem;
}
.turnisti-support-media {
  box-shadow: 0 28px 65px rgba(17, 17, 20, 0.15);
}
.turnisti-guide-section {
  background: #050505;
}
.turnisti-guide {
  position: relative;
  overflow: hidden;

  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2rem;
  align-items: center;

  padding: clamp(1.6rem, 4vw, 2.6rem);

  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 1.5rem;

  background:
    radial-gradient(
      circle at 100% 50%,
      rgba(213, 25, 33, 0.22),
      transparent 36rem
    ),
    #111113;
}
.turnisti-guide-index {
  position: absolute;
  right: 1rem;
  bottom: -1rem;

  color: rgba(255, 255, 255, 0.035);

  font-family: var(--display);
  font-size: clamp(6rem, 14vw, 11rem);
  line-height: 0.8;
  pointer-events: none;
}
.turnisti-guide-copy {
  position: relative;
  z-index: 1;
}
.turnisti-guide-copy h2 {
  color: #ffffff;
}
.turnisti-guide-copy p {
  max-width: 48rem;
  margin-top: 0.6rem;

  color: #c2c2c7;
}
.turnisti-guide > .button {
  position: relative;
  z-index: 1;

  background: #ffffff;
  color: #111114;
}
.turnisti-final-cta .eyebrow {
  color: #ffffff;
}
.turnisti-final-cta .eyebrow::before {
  background: #ffffff;
}
.turnisti-page a:focus:not(:focus-visible),
.turnisti-page button:focus:not(:focus-visible),
.turnisti-page summary:focus:not(:focus-visible) {
  outline: none !important;
  box-shadow: none;
}
.turnisti-page a:focus-visible,
.turnisti-page button:focus-visible,
.turnisti-page summary:focus-visible {
  outline: 3px solid var(--red);
  outline-offset: 4px;
}
@media (max-width: 1000px) {

  .turnisti-shifts-grid {
    grid-template-columns: 1fr;
  }

  .turnisti-shift-card {
    min-height: 0;
  }

  .turnisti-price-box {
    grid-template-columns: 1fr;
  }

  .turnisti-price-action {
    max-width: 30rem;
  }
}
@media (max-width: 900px) {

  .turnisti-brief {
    grid-template-columns: 1fr;
  }

  .turnisti-brief-heading > p {
    max-width: 36rem;
  }

  .turnisti-plan-grid {
    grid-template-columns: 1fr;
  }

  .turnisti-plan-card {
    min-height: 0;
  }

  .turnisti-guide {
    grid-template-columns: 1fr;
  }

  .turnisti-guide > .button {
    justify-self: start;
  }
}
@media (max-width: 650px) {

  .turnisti-page .turnisti-hero {
    padding-top: 5rem !important;
    padding-bottom: 4rem !important;
  }

  .turnisti-hero-facts {
    display: grid;
    grid-template-columns: 1fr;
  }

  .turnisti-hero-facts span {
    border-radius: 0.75rem;
  }

  .turnisti-media-caption,
  .turnisti-h24-media figcaption {
    position: static;

    border-width: 1px 0 0;
    border-radius: 0;

    background: #09090a;
  }

  .turnisti-brief-grid {
    grid-template-columns: 1fr;
  }

  .turnisti-plan-card {
    grid-template-columns: 1fr;
  }

  .turnisti-plan-number {
    font-size: 3rem;
  }

  .turnisti-price-copy ul {
    display: grid;
    grid-template-columns: 1fr;
  }

  .turnisti-price-copy li {
    border-radius: 0.7rem;
  }

  .turnisti-guide > .button {
    width: 100%;
    text-align: center;
  }
}
.principianti-page {
  overflow: clip;
}
.principianti-page .principianti-hero {
  position: relative;
  overflow: hidden;

  margin-top: 0 !important;

  padding-top: clamp(6.5rem, 10vw, 9rem) !important;
  padding-bottom: clamp(4.5rem, 8vw, 7rem) !important;

  background:
    radial-gradient(
      circle at 82% 25%,
      rgba(218, 22, 33, 0.17),
      transparent 32rem
    ),
    #050505;
}
.principianti-page .principianti-hero::before {
  content: "";

  position: absolute;
  top: -18rem;
  left: -15rem;
  z-index: 0;

  width: 38rem;
  height: 38rem;

  border-radius: 50%;

  background: rgba(215, 20, 31, 0.09);
  filter: blur(110px);
}
.principianti-page .principianti-hero .container {
  position: relative;
  z-index: 1;
}
.principianti-hero-content {
  --gap: 1.1rem;
}
.principianti-hero-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
}
.principianti-hero-facts span {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;

  padding: 0.6rem 0.8rem;

  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 999px;

  background: rgba(255, 255, 255, 0.055);
  color: #bdbdc3;

  font-size: 0.77rem;
  line-height: 1.2;
}
.principianti-hero-facts strong {
  color: #ffffff;
}
.principianti-reassurance {
  display: grid;
  gap: 0.25rem;

  max-width: 44rem;

  padding: 0.95rem 1rem;

  border-left: 3px solid var(--red);
  border-radius: 0 0.85rem 0.85rem 0;

  background: rgba(255, 255, 255, 0.055);
}
.principianti-reassurance strong {
  color: #ffffff;
  font-size: 0.88rem;
}
.principianti-reassurance span {
  color: #bdbdc3;
  font-size: 0.8rem;
  line-height: 1.55;
}
.principianti-hero-media {
  position: relative;
}
.principianti-media-caption {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  left: 1rem;

  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.8rem;
  align-items: center;

  padding: 0.9rem 1rem;

  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 0.95rem;

  background: rgba(5, 5, 6, 0.88);

  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.principianti-media-icon {
  width: 2.6rem;
  height: 2.6rem;

  display: grid;
  place-items: center;

  border-radius: 0.8rem;

  background: var(--red);
  color: #ffffff;

  font-family: var(--display);
  font-size: 1.15rem;
}
.principianti-media-caption div {
  min-width: 0;

  display: grid;
  gap: 0.1rem;
}
.principianti-media-caption strong {
  color: #ffffff;
  font-size: 0.86rem;
}
.principianti-media-caption div > span {
  color: #bdbdc3;
  font-size: 0.75rem;
}
.principianti-brief-section {
  background: var(--paper, #f2efec);
}
.principianti-brief {
  display: grid;
  grid-template-columns: minmax(14rem, 0.62fr) minmax(0, 1.38fr);
  gap: clamp(1.5rem, 5vw, 4rem);

  padding: clamp(1.5rem, 4vw, 2.5rem);

  border: 1px solid rgba(17, 17, 20, 0.1);
  border-radius: 1.6rem;

  background:
    radial-gradient(
      circle at 0 0,
      rgba(214, 23, 32, 0.075),
      transparent 24rem
    ),
    #ffffff;

  box-shadow: 0 22px 55px rgba(17, 17, 20, 0.09);
}
.principianti-brief-heading {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.principianti-brief-heading h2 {
  color: #111114;
}
.principianti-brief-heading > p {
  max-width: 19rem;
  margin-top: 0.75rem;

  color: #5e5e65;
}
.principianti-brief-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.8rem;
}
.principianti-brief-grid article {
  min-width: 0;

  padding: 1.15rem;

  border: 1px solid rgba(17, 17, 20, 0.09);
  border-radius: 1rem;

  background: #f4f2f0;
}
.principianti-brief-grid article > span {
  display: block;

  color: #ca171f;

  font-size: 0.69rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.principianti-brief-grid strong {
  display: block;

  margin-top: 0.35rem;

  color: #111114;
  font-size: 0.98rem;
}
.principianti-brief-grid p {
  margin-top: 0.35rem;

  color: #5e5e65;
  font-size: 0.84rem;
}
.principianti-start-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.principianti-start-card {
  min-width: 0;
  min-height: 16rem;

  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 1rem;

  padding: 1.45rem;

  border: 1px solid rgba(17, 17, 20, 0.11);
  border-radius: 1.25rem;

  background: #ffffff;

  box-shadow: 0 20px 48px rgba(17, 17, 20, 0.075);
}
.principianti-start-card--featured {
  border-color: rgba(214, 23, 32, 0.55);

  background:
    radial-gradient(
      circle at 100% 0,
      rgba(214, 23, 32, 0.22),
      transparent 58%
    ),
    linear-gradient(145deg, #19191b, #080809);
}
.principianti-start-number {
  color: rgba(214, 23, 32, 0.25);

  font-family: var(--display);
  font-size: clamp(3rem, 5vw, 4.4rem);
  line-height: 0.8;
}
.principianti-start-card--featured .principianti-start-number {
  color: rgba(255, 255, 255, 0.12);
}
.principianti-start-label {
  display: inline-flex;

  padding: 0.32rem 0.5rem;

  border-radius: 999px;

  background: #efedeb;
  color: #c81720;

  font-size: 0.65rem;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.principianti-start-card--featured .principianti-start-label {
  background: rgba(255, 255, 255, 0.1);
  color: #ff555d;
}
.principianti-start-card h3 {
  margin-top: 0.8rem;

  color: #111114;
  font-size: clamp(1.55rem, 2.4vw, 2rem);
}
.principianti-start-card p {
  margin-top: 0.5rem;

  color: #5d5d64;
}
.principianti-start-card--featured h3 {
  color: #ffffff;
}
.principianti-start-card--featured p {
  color: #c7c7cc;
}
.principianti-options-section {
  background: #050505;
}
.principianti-options-section .section-head h2 {
  color: #ffffff;
}
.principianti-options-section .section-head .lead {
  color: #c3c3c8;
}
.principianti-options-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.principianti-option-card {
  position: relative;
  overflow: hidden;

  min-width: 0;
  min-height: 19rem;

  padding: 1.5rem;

  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 1.3rem;

  background: #121214;
}
.principianti-option-card--featured {
  border-color: rgba(218, 22, 33, 0.55);

  background:
    radial-gradient(
      circle at 100% 0,
      rgba(218, 22, 33, 0.25),
      transparent 60%
    ),
    #121214;
}
.principianti-option-card--dark {
  background:
    radial-gradient(
      circle at 100% 0,
      rgba(218, 22, 33, 0.2),
      transparent 58%
    ),
    linear-gradient(145deg, #1b1b1e, #060607);
}
.principianti-option-index {
  position: absolute;
  top: 0.7rem;
  right: 1rem;

  color: rgba(255, 255, 255, 0.055);

  font-family: var(--display);
  font-size: clamp(5rem, 8vw, 7rem);
  line-height: 1;
}
.principianti-option-content {
  position: relative;
  z-index: 1;

  height: 100%;

  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.principianti-option-label {
  color: #ff4c56;

  font-size: 0.68rem;
  font-weight: 950;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.principianti-option-card h3 {
  max-width: 27rem;
  margin-top: 0.55rem;

  color: #ffffff;
  font-size: clamp(1.8rem, 3vw, 2.5rem);
}
.principianti-option-card p {
  max-width: 34rem;
  margin-top: 0.65rem;

  color: #bdbdc3;
}
.principianti-option-card a {
  margin-top: auto;
  padding-top: 1.3rem;

  color: #ffffff;

  font-weight: 850;
  text-decoration: underline;
  text-decoration-color: var(--red);
  text-decoration-thickness: 2px;
  text-underline-offset: 0.3rem;
}
.principianti-included {
  padding: clamp(1.5rem, 4vw, 2.7rem);

  border: 1px solid rgba(17, 17, 20, 0.1);
  border-radius: 1.6rem;

  background: #ffffff;

  box-shadow: 0 24px 58px rgba(17, 17, 20, 0.09);
}
.principianti-included-copy {
  max-width: 58rem;
}
.principianti-included-copy h2 {
  color: #111114;
}
.principianti-included-copy p {
  margin-top: 0.6rem;

  color: #5d5d64;
}
.principianti-included-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;

  margin-top: 1.5rem;
}
.principianti-included-card {
  min-width: 0;

  padding: 1.4rem;

  border: 1px solid rgba(17, 17, 20, 0.11);
  border-radius: 1.2rem;

  background: #f3f1ef;
}
.principianti-included-card--yes {
  border-color: rgba(214, 23, 32, 0.5);

  background:
    radial-gradient(
      circle at 100% 0,
      rgba(214, 23, 32, 0.12),
      transparent 60%
    ),
    #ffffff;
}
.principianti-included-badge {
  display: inline-flex;

  padding: 0.35rem 0.55rem;

  border-radius: 999px;

  background: #111114;
  color: #ffffff;

  font-size: 0.67rem;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.principianti-included-card--yes .principianti-included-badge {
  background: var(--red);
}
.principianti-included-card h3 {
  margin-top: 0.8rem;

  color: #111114;
  font-size: clamp(1.7rem, 2.5vw, 2.2rem);
}
.principianti-included-card p {
  margin-top: 0.45rem;

  color: #5d5d64;
}
.principianti-included-card ul {
  display: grid;
  gap: 0.55rem;

  margin: 1rem 0 0;
  padding: 0;

  list-style: none;
}
.principianti-included-card li {
  position: relative;

  padding-left: 1.2rem;

  color: #343439;
  font-size: 0.82rem;
}
.principianti-included-card li::before {
  content: "✓";

  position: absolute;
  top: 0;
  left: 0;

  color: var(--red);
  font-weight: 950;
}
.principianti-included-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;

  margin-top: 1.5rem;
}
.principianti-gym-section {
  background:
    radial-gradient(
      circle at 83% 20%,
      rgba(214, 23, 32, 0.17),
      transparent 34rem
    ),
    #050505;
}
.principianti-gym-section h2 {
  color: #ffffff;
}
.principianti-gym-section .lead {
  color: #c3c3c8;
}
.principianti-gym-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.7rem;
}
.principianti-gym-stats article {
  min-width: 0;

  padding: 0.95rem;

  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 0.9rem;

  background: rgba(255, 255, 255, 0.05);
}
.principianti-gym-stats strong {
  display: block;

  color: #ffffff;

  font-family: var(--display);
  font-size: 2.1rem;
  line-height: 1;
}
.principianti-gym-stats span {
  display: block;

  margin-top: 0.25rem;

  color: #bdbdc3;
  font-size: 0.72rem;
}
.principianti-gym-actions {
  margin-top: 0.4rem;
}
.principianti-gym-media {
  box-shadow: 0 30px 70px rgba(0, 0, 0, 0.4);
}
.principianti-visit-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.8rem;
}
.principianti-visit-grid article {
  min-width: 0;

  display: grid;
  grid-template-columns: 2.6rem minmax(0, 1fr);
  gap: 0.8rem;

  padding: 1.1rem;

  border: 1px solid rgba(17, 17, 20, 0.1);
  border-radius: 1rem;

  background: #ffffff;
}
.principianti-visit-grid article > span {
  color: var(--red);

  font-family: var(--display);
  font-size: 1.6rem;
  line-height: 1;
}
.principianti-visit-grid h3 {
  color: #111114;
  font-size: 1.05rem;
}
.principianti-visit-grid p {
  margin-top: 0.25rem;

  color: #5d5d64;
  font-size: 0.83rem;
}
.principianti-visit-cta {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;

  margin-top: 1rem;
  padding: 1.15rem;

  border-radius: 1rem;

  background: #111113;
}
.principianti-visit-cta div {
  display: grid;
  gap: 0.15rem;
}
.principianti-visit-cta strong {
  color: #ffffff;
}
.principianti-visit-cta span {
  color: #bdbdc3;
  font-size: 0.8rem;
}
.principianti-guide-section {
  background: #050505;
}
.principianti-guide {
  position: relative;
  overflow: hidden;

  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2rem;
  align-items: center;

  padding: clamp(1.6rem, 4vw, 2.6rem);

  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 1.5rem;

  background:
    radial-gradient(
      circle at 100% 50%,
      rgba(214, 23, 32, 0.22),
      transparent 36rem
    ),
    #111113;
}
.principianti-guide-mark {
  position: absolute;
  right: 1rem;
  bottom: -1rem;

  color: rgba(255, 255, 255, 0.035);

  font-family: var(--display);
  font-size: clamp(7rem, 15vw, 12rem);
  line-height: 0.8;
  pointer-events: none;
}
.principianti-guide-copy {
  position: relative;
  z-index: 1;
}
.principianti-guide-copy h2 {
  color: #ffffff;
}
.principianti-guide-copy p {
  max-width: 48rem;
  margin-top: 0.6rem;

  color: #c2c2c7;
}
.principianti-guide > .button {
  position: relative;
  z-index: 1;

  background: #ffffff;
  color: #111114;
}
.principianti-final-cta .eyebrow {
  color: #ffffff;
}
.principianti-final-cta .eyebrow::before {
  background: #ffffff;
}
.principianti-page a:focus:not(:focus-visible),
.principianti-page button:focus:not(:focus-visible),
.principianti-page summary:focus:not(:focus-visible) {
  outline: none !important;
  box-shadow: none;
}
.principianti-page a:focus-visible,
.principianti-page button:focus-visible,
.principianti-page summary:focus-visible {
  outline: 3px solid var(--red);
  outline-offset: 4px;
}
@media (max-width: 1000px) {

  .principianti-start-grid,
  .principianti-options-grid {
    grid-template-columns: 1fr;
  }

  .principianti-start-card,
  .principianti-option-card {
    min-height: 0;
  }

  .principianti-option-card {
    min-height: 17rem;
  }
}
@media (max-width: 900px) {

  .principianti-brief {
    grid-template-columns: 1fr;
  }

  .principianti-brief-heading > p {
    max-width: 36rem;
  }

  .principianti-included-columns,
  .principianti-visit-grid {
    grid-template-columns: 1fr;
  }

  .principianti-guide {
    grid-template-columns: 1fr;
  }

  .principianti-guide > .button {
    justify-self: start;
  }
}
@media (max-width: 650px) {

  .principianti-page .principianti-hero {
    padding-top: 5rem !important;
    padding-bottom: 4rem !important;
  }

  .principianti-hero-facts {
    display: grid;
    grid-template-columns: 1fr;
  }

  .principianti-hero-facts span {
    border-radius: 0.75rem;
  }

  .principianti-media-caption {
    position: static;

    border-width: 1px 0 0;
    border-radius: 0;

    background: #09090a;
  }

  .principianti-brief-grid {
    grid-template-columns: 1fr;
  }

  .principianti-start-card {
    grid-template-columns: 1fr;
  }

  .principianti-start-number {
    font-size: 3rem;
  }

  .principianti-gym-stats {
    grid-template-columns: 1fr;
  }

  .principianti-visit-cta {
    align-items: stretch;
    flex-direction: column;
  }

  .principianti-visit-cta .button {
    width: 100%;
    text-align: center;
  }

  .principianti-included-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .principianti-included-actions .button {
    width: 100%;
    text-align: center;
  }

  .principianti-guide > .button {
    width: 100%;
    text-align: center;
  }
}
.studenti-page {
  overflow: clip;
}
.studenti-page .studenti-hero {
  position: relative;
  overflow: hidden;

  margin-top: 0 !important;

  padding-top: clamp(6rem, 10vw, 9rem) !important;
  padding-bottom: clamp(4.5rem, 8vw, 7rem) !important;

  background:
    radial-gradient(
      circle at 82% 24%,
      rgba(218, 22, 33, 0.17),
      transparent 34rem
    ),
    #050505;
}
.studenti-page .studenti-hero::before {
  content: "";

  position: absolute;
  top: -16rem;
  left: -14rem;

  width: 38rem;
  height: 38rem;

  border-radius: 50%;

  background: rgba(218, 22, 33, 0.08);
  filter: blur(110px);

  pointer-events: none;
}
.studenti-page .studenti-hero .container {
  position: relative;
  z-index: 1;
}
.studenti-hero-content {
  --gap: 1.05rem;
}
.studenti-hero-points {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
}
.studenti-hero-points span {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;

  padding: 0.58rem 0.78rem;

  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 999px;

  background: rgba(255, 255, 255, 0.055);
  color: #bfc0c5;

  font-size: 0.76rem;
  line-height: 1.2;
}
.studenti-hero-points strong {
  color: #ffffff;
}
.studenti-hero-note {
  display: grid;
  gap: 0.2rem;

  max-width: 44rem;

  padding: 0.95rem 1rem;

  border-left: 3px solid var(--red);
  border-radius: 0 0.85rem 0.85rem 0;

  background: rgba(255, 255, 255, 0.055);
}
.studenti-hero-note strong {
  color: #ffffff;
  font-size: 0.87rem;
}
.studenti-hero-note span {
  color: #bfc0c5;
  font-size: 0.79rem;
  line-height: 1.55;
}
.studenti-hero-media {
  position: relative;
}
.studenti-media-caption {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  left: 1rem;

  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.8rem;
  align-items: center;

  padding: 0.9rem 1rem;

  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 0.95rem;

  background: rgba(5, 5, 6, 0.88);

  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.studenti-media-caption > span {
  width: 2.6rem;
  height: 2.6rem;

  display: grid;
  place-items: center;

  border-radius: 0.8rem;

  background: var(--red);
  color: #ffffff;

  font-family: var(--display);
  font-size: 1.1rem;
}
.studenti-media-caption div {
  min-width: 0;

  display: grid;
  gap: 0.1rem;
}
.studenti-media-caption strong {
  color: #ffffff;
  font-size: 0.84rem;
}
.studenti-media-caption small {
  color: #bfc0c5;
  font-size: 0.73rem;
}
.studenti-brief-section {
  background: var(--paper, #f2efec);
}
.studenti-brief {
  display: grid;
  grid-template-columns: minmax(14rem, 0.62fr) minmax(0, 1.38fr);
  gap: clamp(1.5rem, 5vw, 4rem);

  padding: clamp(1.5rem, 4vw, 2.5rem);

  border: 1px solid rgba(17, 17, 20, 0.1);
  border-radius: 1.6rem;

  background:
    radial-gradient(
      circle at 0 0,
      rgba(218, 22, 33, 0.075),
      transparent 24rem
    ),
    #ffffff;

  box-shadow: 0 22px 55px rgba(17, 17, 20, 0.09);
}
.studenti-brief-heading {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.studenti-brief-heading h2 {
  color: #111114;
}
.studenti-brief-heading p {
  max-width: 20rem;
  margin-top: 0.75rem;

  color: #5e5e65;
}
.studenti-brief-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.8rem;
}
.studenti-brief-grid article {
  min-width: 0;

  padding: 1.15rem;

  border: 1px solid rgba(17, 17, 20, 0.09);
  border-radius: 1rem;

  background: #f3f1ef;
}
.studenti-brief-grid article > span {
  display: block;

  color: #c91821;

  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.studenti-brief-grid strong {
  display: block;

  margin-top: 0.35rem;

  color: #111114;
  font-size: 0.98rem;
}
.studenti-brief-grid p {
  margin-top: 0.35rem;

  color: #5e5e65;
  font-size: 0.83rem;
}
.studenti-week-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.studenti-week-card {
  position: relative;
  overflow: hidden;

  min-width: 0;
  min-height: 16rem;

  padding: 1.45rem;

  border: 1px solid rgba(17, 17, 20, 0.11);
  border-radius: 1.25rem;

  background: #ffffff;

  box-shadow: 0 20px 48px rgba(17, 17, 20, 0.075);
}
.studenti-week-card--featured {
  border-color: rgba(218, 22, 33, 0.55);

  background:
    radial-gradient(
      circle at 100% 0,
      rgba(218, 22, 33, 0.24),
      transparent 60%
    ),
    linear-gradient(145deg, #19191b, #080809);
}
.studenti-week-number {
  position: absolute;
  top: 0.75rem;
  right: 1rem;

  color: rgba(17, 17, 20, 0.055);

  font-family: var(--display);
  font-size: clamp(5rem, 8vw, 7rem);
  line-height: 1;
}
.studenti-week-card--featured .studenti-week-number {
  color: rgba(255, 255, 255, 0.07);
}
.studenti-week-label {
  position: relative;
  z-index: 1;

  display: inline-flex;

  padding: 0.33rem 0.53rem;

  border-radius: 999px;

  background: #efedeb;
  color: #c91821;

  font-size: 0.65rem;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.studenti-week-card--featured .studenti-week-label {
  background: rgba(255, 255, 255, 0.1);
  color: #ff555d;
}
.studenti-week-card h3 {
  position: relative;
  z-index: 1;

  max-width: 28rem;
  margin-top: 0.85rem;

  color: #111114;
  font-size: clamp(1.55rem, 2.5vw, 2.1rem);
}
.studenti-week-card p {
  position: relative;
  z-index: 1;

  max-width: 34rem;
  margin-top: 0.55rem;

  color: #5d5d64;
}
.studenti-week-card--featured h3 {
  color: #ffffff;
}
.studenti-week-card--featured p {
  color: #c5c5ca;
}
.studenti-prices-section {
  background:
    radial-gradient(
      circle at 84% 15%,
      rgba(218, 22, 33, 0.16),
      transparent 34rem
    ),
    #050505;
}
.studenti-prices-section .section-head h2 {
  color: #ffffff;
}
.studenti-prices-section .section-head .lead {
  color: #c3c3c8;
}
.studenti-price-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}
.studenti-price-card {
  position: relative;

  min-width: 0;

  display: flex;
  flex-direction: column;

  padding: 1.45rem;

  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 1.3rem;

  background: #121214;
}
.studenti-price-card--featured {
  border-color: rgba(239, 27, 38, 0.72);

  background:
    radial-gradient(
      circle at 100% 0,
      rgba(218, 22, 33, 0.24),
      transparent 62%
    ),
    #161618;
}
.studenti-price-card--dark {
  background:
    linear-gradient(145deg, #1b1b1e, #080809);
}
.studenti-price-badge {
  align-self: flex-start;

  margin-bottom: 0.9rem;
  padding: 0.36rem 0.58rem;

  border-radius: 999px;

  background: var(--red);
  color: #ffffff;

  font-size: 0.66rem;
  font-weight: 950;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.studenti-price-heading > span {
  color: #ff555d;

  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.studenti-price-heading h3 {
  margin-top: 0.45rem;

  color: #ffffff;
  font-size: clamp(1.7rem, 2.6vw, 2.2rem);
}
.studenti-price-value {
  display: grid;
  gap: 0.1rem;

  margin-top: 1.3rem;
}
.studenti-price-value strong {
  color: #ffffff;

  font-family: var(--display);
  font-size: clamp(2.8rem, 5vw, 4rem);
  line-height: 0.95;
}
.studenti-price-value span {
  color: #bfc0c5;
  font-size: 0.8rem;
}
.studenti-price-card > p {
  margin-top: 1rem;

  color: #bfc0c5;
}
.studenti-price-card ul {
  display: grid;
  gap: 0.55rem;

  margin: 1.2rem 0 0;
  padding: 0;

  list-style: none;
}
.studenti-price-card li {
  position: relative;

  padding-left: 1.15rem;

  color: #d4d4d8;
  font-size: 0.79rem;
}
.studenti-price-card li::before {
  content: "✓";

  position: absolute;
  top: 0;
  left: 0;

  color: #ff3943;
  font-weight: 950;
}
.studenti-price-card > a {
  margin-top: auto;
  padding-top: 1.4rem;

  color: #ffffff;

  font-weight: 850;
  text-decoration: underline;
  text-decoration-color: var(--red);
  text-decoration-thickness: 2px;
  text-underline-offset: 0.3rem;
}
.studenti-price-note {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;

  margin-top: 1rem;
  padding: 1.15rem;

  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 1rem;

  background: rgba(255, 255, 255, 0.055);
}
.studenti-price-note > div {
  display: grid;
  gap: 0.18rem;
}
.studenti-price-note strong {
  color: #ffffff;
}
.studenti-price-note span {
  max-width: 52rem;

  color: #bfc0c5;
  font-size: 0.8rem;
}
.studenti-options-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.studenti-option {
  position: relative;
  overflow: hidden;

  min-width: 0;
  min-height: 17rem;

  padding: 1.45rem;

  border: 1px solid rgba(17, 17, 20, 0.11);
  border-radius: 1.25rem;

  background: #ffffff;

  box-shadow: 0 20px 48px rgba(17, 17, 20, 0.075);
}
.studenti-option--featured {
  border-color: rgba(218, 22, 33, 0.58);

  background:
    radial-gradient(
      circle at 100% 0,
      rgba(218, 22, 33, 0.15),
      transparent 60%
    ),
    #ffffff;
}
.studenti-option--dark {
  border-color: rgba(218, 22, 33, 0.42);

  background:
    radial-gradient(
      circle at 100% 0,
      rgba(218, 22, 33, 0.22),
      transparent 60%
    ),
    linear-gradient(145deg, #19191b, #080809);
}
.studenti-option-index {
  position: absolute;
  top: 0.65rem;
  right: 1rem;

  color: rgba(17, 17, 20, 0.055);

  font-family: var(--display);
  font-size: clamp(5rem, 8vw, 7rem);
  line-height: 1;
}
.studenti-option--dark .studenti-option-index {
  color: rgba(255, 255, 255, 0.07);
}
.studenti-option > div {
  position: relative;
  z-index: 1;

  height: 100%;

  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.studenti-option-label {
  color: #c91821;

  font-size: 0.67rem;
  font-weight: 950;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}
.studenti-option h3 {
  margin-top: 0.5rem;

  color: #111114;
  font-size: clamp(1.8rem, 3vw, 2.5rem);
}
.studenti-option p {
  max-width: 34rem;
  margin-top: 0.65rem;

  color: #5d5d64;
}
.studenti-option a {
  margin-top: auto;
  padding-top: 1.2rem;

  color: #111114;

  font-weight: 850;
  text-decoration: underline;
  text-decoration-color: var(--red);
  text-decoration-thickness: 2px;
  text-underline-offset: 0.3rem;
}
.studenti-option--dark .studenti-option-label {
  color: #ff555d;
}
.studenti-option--dark h3,
.studenti-option--dark a {
  color: #ffffff;
}
.studenti-option--dark p {
  color: #c3c3c8;
}
.studenti-proof-section {
  background:
    radial-gradient(
      circle at 82% 20%,
      rgba(218, 22, 33, 0.17),
      transparent 34rem
    ),
    #050505;
}
.studenti-proof-section h2 {
  color: #ffffff;
}
.studenti-proof-section .lead {
  color: #c3c3c8;
}
.studenti-proof-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.7rem;
}
.studenti-proof-stats article {
  min-width: 0;

  padding: 0.95rem;

  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 0.9rem;

  background: rgba(255, 255, 255, 0.05);
}
.studenti-proof-stats strong {
  display: block;

  color: #ffffff;

  font-family: var(--display);
  font-size: 2.1rem;
  line-height: 1;
}
.studenti-proof-stats span {
  display: block;

  margin-top: 0.25rem;

  color: #bfc0c5;
  font-size: 0.72rem;
}
.studenti-proof-actions {
  margin-top: 0.4rem;
}
.studenti-proof-media {
  box-shadow: 0 30px 70px rgba(0, 0, 0, 0.42);
}
.studenti-visit-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.8rem;
}
.studenti-visit-grid article {
  min-width: 0;

  display: grid;
  grid-template-columns: 2.6rem minmax(0, 1fr);
  gap: 0.8rem;

  padding: 1.1rem;

  border: 1px solid rgba(17, 17, 20, 0.1);
  border-radius: 1rem;

  background: #ffffff;
}
.studenti-visit-grid article > span {
  color: var(--red);

  font-family: var(--display);
  font-size: 1.6rem;
  line-height: 1;
}
.studenti-visit-grid h3 {
  color: #111114;
  font-size: 1.05rem;
}
.studenti-visit-grid p {
  margin-top: 0.25rem;

  color: #5d5d64;
  font-size: 0.83rem;
}
.studenti-visit-cta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;

  margin-top: 1rem;
  padding: 1.15rem;

  border-radius: 1rem;

  background: #111113;
}
.studenti-visit-cta > div {
  display: grid;
  gap: 0.15rem;
}
.studenti-visit-cta strong {
  color: #ffffff;
}
.studenti-visit-cta span {
  color: #bfc0c5;
  font-size: 0.8rem;
}
.studenti-final-cta .eyebrow {
  color: #ffffff;
}
.studenti-final-cta .eyebrow::before {
  background: #ffffff;
}
.studenti-page a:focus:not(:focus-visible),
.studenti-page button:focus:not(:focus-visible),
.studenti-page summary:focus:not(:focus-visible) {
  outline: none !important;
  box-shadow: none;
}
.studenti-page a:focus-visible,
.studenti-page button:focus-visible,
.studenti-page summary:focus-visible {
  outline: 3px solid var(--red);
  outline-offset: 4px;
}
@media (max-width: 1050px) {

  .studenti-price-grid {
    grid-template-columns: 1fr;
  }

  .studenti-price-card {
    min-height: 0;
  }
}
@media (max-width: 950px) {

  .studenti-brief {
    grid-template-columns: 1fr;
  }

  .studenti-brief-heading p {
    max-width: 36rem;
  }

  .studenti-week-grid,
  .studenti-options-grid {
    grid-template-columns: 1fr;
  }

  .studenti-week-card,
  .studenti-option {
    min-height: 0;
  }

  .studenti-visit-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 700px) {

  .studenti-page .studenti-hero {
    padding-top: 5rem !important;
    padding-bottom: 4rem !important;
  }

  .studenti-hero-points {
    display: grid;
    grid-template-columns: 1fr;
  }

  .studenti-hero-points span {
    border-radius: 0.75rem;
  }

  .studenti-media-caption {
    position: static;

    border-width: 1px 0 0;
    border-radius: 0;

    background: #09090a;
  }

  .studenti-brief-grid {
    grid-template-columns: 1fr;
  }

  .studenti-price-note {
    align-items: stretch;
    flex-direction: column;
  }

  .studenti-price-note .button {
    width: 100%;
    text-align: center;
  }

  .studenti-proof-stats {
    grid-template-columns: 1fr;
  }

  .studenti-visit-cta {
    align-items: stretch;
    flex-direction: column;
  }

  .studenti-visit-cta .button {
    width: 100%;
    text-align: center;
  }
}
.tourist-hub-page {
  overflow: clip;
}
.tourist-hub-page .tourist-hub-hero {
  position: relative;
  overflow: hidden;

  margin-top: 0 !important;

  padding-top: clamp(5.5rem, 9vw, 8rem) !important;
  padding-bottom: clamp(4.5rem, 8vw, 7rem) !important;

  background:
    radial-gradient(
      circle at 82% 24%,
      rgba(218, 22, 33, 0.18),
      transparent 34rem
    ),
    #050505;
}
.tourist-hub-page .tourist-hub-hero::before {
  content: "";

  position: absolute;
  top: -14rem;
  left: -14rem;

  width: 36rem;
  height: 36rem;

  border-radius: 50%;

  background: rgba(218, 22, 33, 0.08);
  filter: blur(110px);

  pointer-events: none;
}
.tourist-hub-page .tourist-hub-hero .container {
  position: relative;
  z-index: 1;
}
.tourist-hub-hero-content {
  --gap: 1.05rem;
}
.tourist-hub-points {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
}
.tourist-hub-points span {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;

  padding: 0.58rem 0.78rem;

  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 999px;

  background: rgba(255, 255, 255, 0.055);
  color: #bfc0c5;

  font-size: 0.76rem;
  line-height: 1.2;
}
.tourist-hub-points strong {
  color: #ffffff;
}
.tourist-hub-hero-note {
  display: grid;
  gap: 0.2rem;

  max-width: 44rem;

  padding: 0.95rem 1rem;

  border-left: 3px solid var(--red);
  border-radius: 0 0.85rem 0.85rem 0;

  background: rgba(255, 255, 255, 0.055);
}
.tourist-hub-hero-note strong {
  color: #ffffff;
  font-size: 0.87rem;
}
.tourist-hub-hero-note span {
  color: #bfc0c5;
  font-size: 0.79rem;
  line-height: 1.55;
}
.tourist-hub-hero-media {
  position: relative;
}
.tourist-hub-media-caption {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  left: 1rem;

  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.8rem;
  align-items: center;

  padding: 0.9rem 1rem;

  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 0.95rem;

  background: rgba(5, 5, 6, 0.9);

  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.tourist-hub-media-caption > span {
  width: 2.6rem;
  height: 2.6rem;

  display: grid;
  place-items: center;

  border-radius: 0.8rem;

  background: var(--red);
  color: #ffffff;

  font-family: var(--display);
  font-size: 1.1rem;
}
.tourist-hub-media-caption div {
  min-width: 0;

  display: grid;
  gap: 0.1rem;
}
.tourist-hub-media-caption strong {
  color: #ffffff;
  font-size: 0.84rem;
}
.tourist-hub-media-caption small {
  color: #bfc0c5;
  font-size: 0.73rem;
}
.tourist-route-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.tourist-route {
  position: relative;
  overflow: hidden;

  min-width: 0;
  min-height: 18rem;

  display: flex;
  flex-direction: column;

  padding: 1.45rem;

  border: 1px solid rgba(17, 17, 20, 0.11);
  border-radius: 1.3rem;

  background: #ffffff;
  color: #111114;

  text-decoration: none;

  box-shadow: 0 20px 48px rgba(17, 17, 20, 0.075);

  transition:
    transform 180ms ease,
    box-shadow 180ms ease,
    border-color 180ms ease;
}
.tourist-route:hover {
  transform: translateY(-4px);

  border-color: rgba(218, 22, 33, 0.55);

  box-shadow: 0 28px 60px rgba(17, 17, 20, 0.13);
}
.tourist-route--featured {
  border-color: rgba(218, 22, 33, 0.64);

  background:
    radial-gradient(
      circle at 100% 0,
      rgba(218, 22, 33, 0.24),
      transparent 58%
    ),
    linear-gradient(145deg, #19191b, #080809);

  color: #ffffff;
}
.tourist-route-top {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: center;
}
.tourist-route-index {
  color: var(--red);

  font-family: var(--display);
  font-size: 1.4rem;
  line-height: 1;
}
.tourist-route-tag {
  display: inline-flex;

  padding: 0.34rem 0.55rem;

  border-radius: 999px;

  background: #efedeb;
  color: #c91821;

  font-size: 0.63rem;
  font-weight: 950;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}
.tourist-route--featured .tourist-route-tag {
  background: rgba(255, 255, 255, 0.1);
  color: #ff5961;
}
.tourist-route > div:nth-child(2) {
  margin-top: 1.5rem;
}
.tourist-route h3 {
  color: #111114;
  font-size: clamp(1.8rem, 3vw, 2.5rem);
}
.tourist-route p {
  max-width: 36rem;
  margin-top: 0.6rem;

  color: #5d5d64;
}
.tourist-route > strong {
  margin-top: auto;
  padding-top: 1.4rem;

  color: #111114;
  font-size: 0.84rem;
}
.tourist-route--featured h3,
.tourist-route--featured > strong {
  color: #ffffff;
}
.tourist-route--featured p {
  color: #c3c3c8;
}
.tourist-practical-section {
  background:
    radial-gradient(
      circle at 85% 20%,
      rgba(218, 22, 33, 0.17),
      transparent 34rem
    ),
    #050505;
}
.tourist-practical-section h2 {
  color: #ffffff;
}
.tourist-practical-section .lead {
  color: #c3c3c8;
}
.tourist-practical-list {
  display: grid;
  gap: 0.65rem;
}
.tourist-practical-list article {
  display: grid;
  grid-template-columns: 2.7rem minmax(0, 1fr);
  gap: 0.8rem;

  padding: 0.95rem;

  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 0.95rem;

  background: rgba(255, 255, 255, 0.05);
}
.tourist-practical-list article > span {
  color: #ff3b44;

  font-family: var(--display);
  font-size: 1.45rem;
  line-height: 1;
}
.tourist-practical-list h3 {
  color: #ffffff;
  font-size: 1rem;
}
.tourist-practical-list p {
  margin-top: 0.22rem;

  color: #bfc0c5;
  font-size: 0.8rem;
}
.tourist-practical-actions {
  margin-top: 0.4rem;
}
.tourist-practical-media {
  position: relative;

  box-shadow: 0 32px 72px rgba(0, 0, 0, 0.42);
}
.tourist-practical-media figcaption {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  left: 1rem;

  display: grid;
  gap: 0.12rem;

  padding: 0.9rem 1rem;

  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 0.9rem;

  background: rgba(4, 4, 5, 0.9);

  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.tourist-practical-media figcaption strong {
  color: #ffffff;
  font-size: 0.83rem;
}
.tourist-practical-media figcaption span {
  color: #bfc0c5;
  font-size: 0.73rem;
}
.tourist-service-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.tourist-service-card {
  position: relative;
  overflow: hidden;

  min-width: 0;
  min-height: 18rem;

  display: flex;
  flex-direction: column;

  padding: 1.45rem;

  border: 1px solid rgba(17, 17, 20, 0.11);
  border-radius: 1.25rem;

  background: #ffffff;
  color: #111114;

  text-decoration: none;

  box-shadow: 0 20px 48px rgba(17, 17, 20, 0.075);

  transition:
    transform 180ms ease,
    border-color 180ms ease;
}
.tourist-service-card:hover {
  transform: translateY(-4px);
  border-color: rgba(218, 22, 33, 0.55);
}
.tourist-service-number {
  position: absolute;
  top: 0.8rem;
  right: 1rem;

  color: rgba(17, 17, 20, 0.06);

  font-family: var(--display);
  font-size: clamp(4.6rem, 8vw, 7rem);
  line-height: 1;
}
.tourist-service-card > div {
  position: relative;
  z-index: 1;
}
.tourist-service-label {
  color: #c91821;

  font-size: 0.66rem;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.tourist-service-card h3 {
  margin-top: 0.45rem;

  color: #111114;
  font-size: clamp(1.8rem, 3vw, 2.45rem);
}
.tourist-service-card p {
  max-width: 35rem;
  margin-top: 0.6rem;

  color: #5d5d64;
}
.tourist-service-card > strong {
  position: relative;
  z-index: 1;

  margin-top: auto;
  padding-top: 1.3rem;

  color: #111114;
  font-size: 0.82rem;
}
.tourist-service-card--dark {
  border-color: rgba(218, 22, 33, 0.45);

  background:
    radial-gradient(
      circle at 100% 0,
      rgba(218, 22, 33, 0.22),
      transparent 60%
    ),
    linear-gradient(145deg, #19191b, #080809);
}
.tourist-service-card--dark .tourist-service-number {
  color: rgba(255, 255, 255, 0.07);
}
.tourist-service-card--dark .tourist-service-label {
  color: #ff5961;
}
.tourist-service-card--dark h3,
.tourist-service-card--dark > strong {
  color: #ffffff;
}
.tourist-service-card--dark p {
  color: #c3c3c8;
}
.tourist-language-section {
  background:
    linear-gradient(
      180deg,
      #f4f1ee,
      #ece8e4
    );
}
.tourist-language-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}
.tourist-language-card {
  min-width: 0;
  min-height: 18rem;

  display: flex;
  flex-direction: column;

  padding: 1.35rem;

  border: 1px solid rgba(17, 17, 20, 0.11);
  border-radius: 1.25rem;

  background: #ffffff;
  color: #111114;

  text-decoration: none;

  box-shadow: 0 18px 45px rgba(17, 17, 20, 0.075);

  transition:
    transform 180ms ease,
    border-color 180ms ease;
}
.tourist-language-card:hover {
  transform: translateY(-4px);
  border-color: rgba(218, 22, 33, 0.55);
}
.tourist-language-code {
  width: 3rem;
  height: 3rem;

  display: grid;
  place-items: center;

  border-radius: 0.85rem;

  background: #111113;
  color: #ffffff;

  font-family: var(--display);
  font-size: 1.2rem;
}
.tourist-language-card > div:nth-child(2) {
  margin-top: 1.2rem;
}
.tourist-language-card > div:nth-child(2) > span {
  color: #c91821;

  font-size: 0.66rem;
  font-weight: 950;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}
.tourist-language-card h3 {
  margin-top: 0.4rem;

  color: #111114;
  font-size: clamp(1.55rem, 2.5vw, 2.05rem);
}
.tourist-language-card p {
  margin-top: 0.55rem;

  color: #5d5d64;
}
.tourist-language-card > strong {
  margin-top: auto;
  padding-top: 1.3rem;

  color: #111114;
  font-size: 0.82rem;
}
.tourist-final-cta .eyebrow {
  color: #ffffff;
}
.tourist-final-cta .eyebrow::before {
  background: #ffffff;
}
.tourist-hub-page a:focus:not(:focus-visible),
.tourist-hub-page button:focus:not(:focus-visible),
.tourist-hub-page summary:focus:not(:focus-visible) {
  outline: none !important;
  box-shadow: none;
}
.tourist-hub-page a:focus-visible,
.tourist-hub-page button:focus-visible,
.tourist-hub-page summary:focus-visible {
  outline: 3px solid var(--red);
  outline-offset: 4px;
}
@media (max-width: 1000px) {

  .tourist-language-grid {
    grid-template-columns: 1fr;
  }

  .tourist-language-card {
    min-height: 0;
  }
}
@media (max-width: 900px) {

  .tourist-route-grid,
  .tourist-service-grid {
    grid-template-columns: 1fr;
  }

  .tourist-route,
  .tourist-service-card {
    min-height: 0;
  }
}
@media (max-width: 700px) {

  .tourist-hub-page .tourist-hub-hero {
    padding-top: 4.8rem !important;
    padding-bottom: 4rem !important;
  }

  .tourist-hub-points {
    display: grid;
    grid-template-columns: 1fr;
  }

  .tourist-hub-points span {
    border-radius: 0.75rem;
  }

  .tourist-hub-media-caption {
    position: static;

    border-width: 1px 0 0;
    border-radius: 0;

    background: #09090a;
  }

  .tourist-practical-media figcaption {
    position: static;

    border-width: 1px 0 0;
    border-radius: 0;

    background: #09090a;
  }

  .tourist-route {
    padding: 1.2rem;
  }

  .tourist-route-top {
    align-items: flex-start;
    flex-direction: column;
  }

  .tourist-service-card {
    padding: 1.2rem;
  }
}
.needs-hub-page {
  overflow: clip;
}
.needs-hub-page .needs-hub-hero {
  position: relative;
  overflow: hidden;

  margin-top: 0 !important;

  padding-top: clamp(5.5rem, 9vw, 8rem) !important;
  padding-bottom: clamp(4.5rem, 8vw, 7rem) !important;

  background:
    radial-gradient(
      circle at 84% 24%,
      rgba(218, 22, 33, 0.18),
      transparent 34rem
    ),
    #050505;
}
.needs-hub-page .needs-hub-hero::before {
  content: "";

  position: absolute;
  top: -16rem;
  left: -14rem;

  width: 38rem;
  height: 38rem;

  border-radius: 50%;

  background: rgba(218, 22, 33, 0.08);
  filter: blur(110px);

  pointer-events: none;
}
.needs-hub-page .needs-hub-hero .container {
  position: relative;
  z-index: 1;
}
.needs-hub-hero-content {
  --gap: 1.05rem;
}
.needs-hub-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.needs-hub-tags span {
  display: inline-flex;
  align-items: center;

  padding: 0.52rem 0.72rem;

  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 999px;

  background: rgba(255, 255, 255, 0.055);
  color: #d0d0d4;

  font-size: 0.72rem;
  font-weight: 750;
  line-height: 1.2;
}
.needs-hub-hero-note {
  display: grid;
  gap: 0.2rem;

  max-width: 43rem;

  padding: 0.95rem 1rem;

  border-left: 3px solid var(--red);
  border-radius: 0 0.85rem 0.85rem 0;

  background: rgba(255, 255, 255, 0.055);
}
.needs-hub-hero-note strong {
  color: #ffffff;
  font-size: 0.86rem;
}
.needs-hub-hero-note span {
  color: #bfc0c5;
  font-size: 0.78rem;
  line-height: 1.55;
}
.needs-hub-hero-media {
  position: relative;

  box-shadow: 0 36px 75px rgba(0, 0, 0, 0.42);
}
.needs-hub-media-caption {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  left: 1rem;

  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.8rem;
  align-items: center;

  padding: 0.9rem 1rem;

  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 0.95rem;

  background: rgba(5, 5, 6, 0.9);

  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.needs-hub-media-caption > span {
  width: 2.65rem;
  height: 2.65rem;

  display: grid;
  place-items: center;

  border-radius: 0.8rem;

  background: var(--red);
  color: #ffffff;

  font-family: var(--display);
  font-size: 1.15rem;
}
.needs-hub-media-caption div {
  min-width: 0;

  display: grid;
  gap: 0.12rem;
}
.needs-hub-media-caption strong {
  color: #ffffff;
  font-size: 0.84rem;
}
.needs-hub-media-caption small {
  color: #bfc0c5;
  font-size: 0.73rem;
}
.needs-hub-page .needs-hub-brief {
  background: #f2efec;
}
.needs-quick-facts {
  display: grid;
  grid-template-columns: minmax(13rem, 0.7fr) minmax(0, 2fr);
  gap: 2rem;
  align-items: stretch;

  padding: clamp(1.5rem, 4vw, 2.25rem);

  border: 1px solid rgba(17, 17, 20, 0.1);
  border-radius: 1.6rem;

  background:
    radial-gradient(
      circle at 0 0,
      rgba(218, 22, 33, 0.08),
      transparent 22rem
    ),
    #ffffff;

  box-shadow: 0 24px 60px rgba(17, 17, 20, 0.08);
}
.needs-quick-facts-heading {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
.needs-quick-facts-heading h2 {
  max-width: 9ch;
  margin-top: 0.45rem;
}
.needs-quick-facts-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.8rem;
}
.needs-quick-facts-grid article {
  min-width: 0;

  display: grid;
  gap: 0.35rem;

  padding: 1rem;

  border: 1px solid rgba(17, 17, 20, 0.08);
  border-radius: 0.95rem;

  background: #f1efed;
}
.needs-quick-facts-grid strong {
  color: #c91821;

  font-size: 0.68rem;
  font-weight: 950;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}
.needs-quick-facts-grid span {
  color: #4f4f56;
  font-size: 0.84rem;
  line-height: 1.5;
}
.needs-route-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 1rem;
}
.needs-route-card,
.needs-route-card:visited {
  position: relative;
  overflow: hidden;

  min-width: 0;
  min-height: 20rem;

  display: flex;
  flex-direction: column;

  padding: 1.45rem;

  border: 1px solid rgba(17, 17, 20, 0.11);
  border-radius: 1.3rem;

  background: #ffffff;
  color: #111114 !important;

  text-decoration: none !important;

  box-shadow: 0 20px 48px rgba(17, 17, 20, 0.075);

  opacity: 1 !important;
  filter: none !important;

  transition:
    transform 180ms ease,
    box-shadow 180ms ease,
    border-color 180ms ease;
}
.needs-route-card:hover {
  transform: translateY(-4px);

  border-color: rgba(218, 22, 33, 0.55);

  box-shadow: 0 28px 62px rgba(17, 17, 20, 0.13);
}
.needs-route-card--wide {
  grid-column: span 6;
}
.needs-route-card--third {
  grid-column: span 4;
}
.needs-route-card--half {
  grid-column: span 6;
}
.needs-route-card-top {
  position: relative;
  z-index: 1;

  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0.75rem;
}
.needs-route-index {
  color: var(--red) !important;

  font-family: var(--display);
  font-size: 1.45rem;
  line-height: 1;
}
.needs-route-label {
  display: inline-flex;

  padding: 0.34rem 0.58rem;

  border-radius: 999px;

  background: #efedeb;
  color: #c91821 !important;

  font-size: 0.62rem;
  font-weight: 950;
  letter-spacing: 0.075em;
  text-transform: uppercase;
}
.needs-route-card-body {
  position: relative;
  z-index: 1;

  margin-top: 1.55rem;
}
.needs-route-card h3,
.needs-route-card:visited h3 {
  color: #111114 !important;

  font-size: clamp(1.8rem, 3vw, 2.65rem);
  line-height: 0.98;

  opacity: 1 !important;
}
.needs-route-card p,
.needs-route-card:visited p {
  max-width: 37rem;
  margin-top: 0.7rem;

  color: #5b5b62 !important;

  opacity: 1 !important;
}
.needs-route-card ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;

  margin: 1rem 0 0;
  padding: 0;

  list-style: none;
}
.needs-route-card li {
  padding: 0.38rem 0.55rem;

  border-radius: 999px;

  background: #f0eeec;
  color: #3f3f45;

  font-size: 0.67rem;
  font-weight: 800;
}
.needs-route-card > strong,
.needs-route-card:visited > strong {
  position: relative;
  z-index: 1;

  margin-top: auto;
  padding-top: 1.4rem;

  color: #111114 !important;

  font-size: 0.82rem;
  font-weight: 950;

  opacity: 1 !important;
}
.needs-route-card--dark {
  border-color: rgba(218, 22, 33, 0.42);

  background:
    radial-gradient(
      circle at 100% 0,
      rgba(218, 22, 33, 0.24),
      transparent 58%
    ),
    linear-gradient(145deg, #19191b, #080809);
}
.needs-route-card--dark h3,
.needs-route-card--dark:visited h3,
.needs-route-card--dark > strong,
.needs-route-card--dark:visited > strong {
  color: #ffffff !important;
}
.needs-route-card--dark p,
.needs-route-card--dark:visited p {
  color: #c4c4c9 !important;
}
.needs-route-card--dark .needs-route-label {
  background: rgba(255, 255, 255, 0.1);
  color: #ff5961 !important;
}
.needs-route-card--dark li {
  background: rgba(255, 255, 255, 0.08);
  color: #e6e6e8;
}
.needs-route-card--accent {
  border-color: rgba(218, 22, 33, 0.58);

  background:
    radial-gradient(
      circle at 100% 0,
      rgba(218, 22, 33, 0.16),
      transparent 60%
    ),
    #ffffff;
}
.needs-choice-section {
  background:
    radial-gradient(
      circle at 85% 20%,
      rgba(218, 22, 33, 0.17),
      transparent 34rem
    ),
    #050505;
}
.needs-choice-section h2 {
  color: #ffffff;
}
.needs-choice-section .lead {
  color: #c3c3c8;
}
.needs-choice-list {
  display: grid;
  gap: 0.65rem;
}
.needs-choice-list article {
  display: grid;
  grid-template-columns: 2.75rem minmax(0, 1fr);
  gap: 0.8rem;

  padding: 0.95rem;

  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 0.95rem;

  background: rgba(255, 255, 255, 0.05);
}
.needs-choice-list article > span {
  color: #ff3b44;

  font-family: var(--display);
  font-size: 1.45rem;
  line-height: 1;
}
.needs-choice-list h3 {
  color: #ffffff;
  font-size: 1rem;
}
.needs-choice-list p {
  margin-top: 0.22rem;

  color: #bfc0c5;
  font-size: 0.8rem;
}
.needs-choice-media {
  position: relative;

  box-shadow: 0 32px 72px rgba(0, 0, 0, 0.42);
}
.needs-choice-media figcaption {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  left: 1rem;

  display: grid;
  gap: 0.12rem;

  padding: 0.9rem 1rem;

  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 0.9rem;

  background: rgba(4, 4, 5, 0.9);

  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.needs-choice-media figcaption strong {
  color: #ffffff;
  font-size: 0.83rem;
}
.needs-choice-media figcaption span {
  color: #bfc0c5;
  font-size: 0.73rem;
}
.needs-service-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}
.needs-service-card,
.needs-service-card:visited {
  position: relative;
  overflow: hidden;

  min-width: 0;
  min-height: 18rem;

  display: flex;
  flex-direction: column;

  padding: 1.25rem;

  border: 1px solid rgba(17, 17, 20, 0.11);
  border-radius: 1.2rem;

  background: #ffffff;
  color: #111114 !important;

  text-decoration: none !important;

  box-shadow: 0 18px 45px rgba(17, 17, 20, 0.075);

  opacity: 1 !important;

  transition:
    transform 180ms ease,
    border-color 180ms ease;
}
.needs-service-card:hover {
  transform: translateY(-4px);
  border-color: rgba(218, 22, 33, 0.55);
}
.needs-service-card > span {
  color: var(--red);

  font-family: var(--display);
  font-size: 1.3rem;
}
.needs-service-card h3,
.needs-service-card:visited h3 {
  margin-top: 1.2rem;

  color: #111114 !important;
  font-size: clamp(1.65rem, 2.5vw, 2.1rem);

  opacity: 1 !important;
}
.needs-service-card p,
.needs-service-card:visited p {
  margin-top: 0.55rem;

  color: #5b5b62 !important;

  opacity: 1 !important;
}
.needs-service-card > strong,
.needs-service-card:visited > strong {
  margin-top: auto;
  padding-top: 1.2rem;

  color: #111114 !important;

  font-size: 0.79rem;
  font-weight: 950;

  opacity: 1 !important;
}
.needs-service-card--dark {
  border-color: rgba(218, 22, 33, 0.45);

  background:
    radial-gradient(
      circle at 100% 0,
      rgba(218, 22, 33, 0.22),
      transparent 60%
    ),
    linear-gradient(145deg, #19191b, #080809);
}
.needs-service-card--dark h3,
.needs-service-card--dark:visited h3,
.needs-service-card--dark > strong,
.needs-service-card--dark:visited > strong {
  color: #ffffff !important;
}
.needs-service-card--dark p,
.needs-service-card--dark:visited p {
  color: #c4c4c9 !important;
}
.needs-final-cta .eyebrow {
  color: #ffffff;
}
.needs-final-cta .eyebrow::before {
  background: #ffffff;
}
.needs-hub-page a:focus:not(:focus-visible),
.needs-hub-page button:focus:not(:focus-visible),
.needs-hub-page summary:focus:not(:focus-visible) {
  outline: none !important;
  box-shadow: none !important;
}
.needs-hub-page a:focus-visible,
.needs-hub-page button:focus-visible,
.needs-hub-page summary:focus-visible {
  outline: 3px solid var(--red);
  outline-offset: 4px;
}
@media (max-width: 1100px) {

  .needs-service-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 900px) {

  .needs-route-card--wide,
  .needs-route-card--third,
  .needs-route-card--half {
    grid-column: span 12;
  }

  .needs-route-card {
    min-height: 0;
  }

  .needs-quick-facts {
    grid-template-columns: 1fr;
  }

  .needs-quick-facts-heading h2 {
    max-width: none;
  }
}
@media (max-width: 700px) {

  .needs-hub-page .needs-hub-hero {
    padding-top: 4.8rem !important;
    padding-bottom: 4rem !important;
  }

  .needs-hub-tags {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .needs-hub-tags span {
    justify-content: center;

    border-radius: 0.75rem;
    text-align: center;
  }

  .needs-hub-media-caption,
  .needs-choice-media figcaption {
    position: static;

    border-width: 1px 0 0;
    border-radius: 0;

    background: #09090a;
  }

  .needs-quick-facts-grid,
  .needs-service-grid {
    grid-template-columns: 1fr;
  }

  .needs-route-card {
    padding: 1.2rem;
  }

  .needs-route-card-top {
    flex-direction: column;
  }

  .needs-service-card {
    min-height: 0;
  }
}
@media (max-width: 430px) {

  .needs-hub-tags {
    grid-template-columns: 1fr;
  }
}
