*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    background:#000;
    color:#fff;
    font-family:'Inter',sans-serif;
    overflow-x:hidden;
}

a{
    text-decoration:none;
    color:#fff;
}

img{
    max-width:100%;
    display:block;
}

section{
    width:100%;
}

/* HEADER */

header{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    z-index:999;
    padding:30px 8%;
    background:rgba(0,0,0,.3);
    backdrop-filter:blur(20px);
}

.navbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:28px;
}

.logo{
    flex:0 0 auto;
    display:block;
}

.logo img{
    width:70px;
    min-width:70px;
}

.navbar ul{
    display:flex;
    list-style:none;
    gap:38px;
}

.nav-toggle{
    display:none;
    width:46px;
    height:46px;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:5px;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.16);
    border-radius:999px;
    cursor:pointer;
    position:relative;
    z-index:1001;
}

.nav-toggle span{
    width:20px;
    height:2px;
    border-radius:999px;
    background:#fff;
    transition:.25s;
}

.site-nav-open .nav-toggle span:nth-child(1){
    transform:translateY(7px) rotate(45deg);
}

.site-nav-open .nav-toggle span:nth-child(2){
    opacity:0;
}

.site-nav-open .nav-toggle span:nth-child(3){
    transform:translateY(-7px) rotate(-45deg);
}

.mobile-ticket-link{
    display:none;
}

.navbar ul li a{
    font-size:13px;
    letter-spacing:3px;
    white-space:nowrap;
    transition:.3s;
}

.navbar ul li a:hover{
    color:#d8893d;
}

.nav-dropdown{
    position:relative;
}

.nav-dropdown::after{
    content:"";
    position:absolute;
    left:-24px;
    right:-24px;
    top:100%;
    height:22px;
}

.dropdown-menu{
    position:absolute;
    top:calc(100% + 18px);
    left:50%;
    min-width:270px;
    width:max-content;
    transform:translateX(-50%) translateY(8px);
    background:#0b0b0b;
    border:1px solid rgba(216,137,61,.28);
    border-radius:14px;
    padding:10px;
    opacity:0;
    pointer-events:none;
    transition:.25s;
    box-shadow:0 18px 55px rgba(0,0,0,.55);
}

.nav-dropdown:hover .dropdown-menu,
.nav-dropdown:focus-within .dropdown-menu{
    opacity:1;
    pointer-events:auto;
    transform:translateX(-50%) translateY(0);
}

.dropdown-menu a{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:12px 14px;
    border-radius:10px;
    color:#fff;
    font-size:12px !important;
    font-weight:800;
    line-height:1.2;
    letter-spacing:1.2px !important;
    text-transform:uppercase;
    white-space:nowrap;
}

.dropdown-menu a:hover{
    background:#17110c;
}

.dropdown-menu span{
    color:#d8893d;
    flex:0 0 auto;
    font-size:12px;
    font-weight:800;
}

.ticket-btn{
    border:1px solid #d8893d;
    padding:14px 28px;
    border-radius:40px;
    transition:.3s;
}

.ticket-btn:hover{
    background:#d8893d;
}

/* HERO */

.hero{
    min-height:110vh;
    background:url("../images/image.png") center center/cover;
    display:flex;
    align-items:center;
    padding:0 8%;
}

.hero-content{
    max-width:850px;
}

.hero-kicker,
.section-title span,
.newsletter-left span{
    display:block;
    color:#d8893d;
    letter-spacing:5px;
    text-transform:uppercase;
    font-size:12px;
    font-weight:800;
    margin-bottom:16px;
}

.hero-content h1{
    font-size:120px;
    font-weight:800;
    margin-bottom:20px;
    line-height:.9;
}

.hero-content p{
    color:#bbb;
    font-size:20px;
    margin-bottom:40px;
}

.hero-btn{
    background:#d8893d;
    color:white;
    padding:18px 35px;
    border-radius:40px;
    display:inline-block;
}

.hero-btn.secondary{
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.14);
}

.hero-buttons{
    display:flex;
    gap:14px;
    flex-wrap:wrap;
}

/* EVENTS */

#events{
    padding:120px 8%;
}

.event-card{
    display:flex;
    gap:60px;
    align-items:center;
    margin-bottom:120px;
    position:relative;
}

.event-image{
    width:340px;
    position:relative;
}

.event-image img{
    border-radius:25px;
}

.event-status{
    position:absolute;
    top:16px;
    left:16px;
    z-index:2;
    display:inline-flex;
    align-items:center;
    min-height:34px;
    padding:0 13px;
    background:#d8893d;
    color:#050505;
    border-radius:999px;
    font-size:12px;
    font-weight:900;
    letter-spacing:1px;
    text-transform:uppercase;
}

.event-card.is-past .event-image img{
    filter:saturate(.55) brightness(.72);
}

.event-content{
    flex:1;
}

.event-content h3{
    color:#d8893d;
    letter-spacing:8px;
    font-size:13px;
    margin-bottom:20px;
}

.event-content h4{
    font-size:42px;
    font-weight:800;
    margin-bottom:20px;
}

.event-content p{
    color:#bdbdbd;
    margin-bottom:12px;
}

.lineup{
    display:flex;
    flex-wrap:wrap;
    gap:15px;
    margin-top:35px;
    margin-bottom:40px;
}

.lineup span{
    padding:15px 22px;
    background:#0d0d0d;
    border:1px solid rgba(255,255,255,.1);
    border-radius:40px;
    font-size:14px;
}

.buy-btn{
    display:inline-block;
    background:#d8893d;
    color:white;
    padding:18px 35px;
    border-radius:50px;
    transition:.3s;
}

.buy-btn:hover{
    transform:translateY(-3px);
}

/* SECTION TITLE */

.section-title{
    text-align:center;
    margin-bottom:70px;
}

.left-title{
    max-width:760px;
    text-align:left;
}

.section-title h2{
    font-size:50px;
    font-weight:800;
}

.section-title p{
    color:#aaa;
    line-height:1.7;
    margin-top:16px;
}

/* ABOUT */

#about{
    padding:120px 8%;
}

.about-content{
    max-width:900px;
    margin:auto;
    text-align:center;
}

.about-content p{
    color:#bcbcbc;
    line-height:2;
    font-size:18px;
}

.about-content h3{
    margin-top:40px;
    font-size:50px;
    color:#d8893d;
}

/* BLOG */

#blog{
    padding:120px 8%;
}

.blog-container{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
}

.blog-card{
    position:relative;
    overflow:hidden;
    background:linear-gradient(180deg,#111,#080808);
    border:1px solid rgba(255,255,255,.08);
    padding:22px;
    border-radius:18px;
    transition:.25s;
}

.blog-card:hover{
    border-color:rgba(216,137,61,.5);
    transform:translateY(-4px);
}

.blog-card h3{
    margin:14px 0 14px;
    line-height:1.25;
    font-size:24px;
}

.blog-card p{
    color:#bdbdbd;
    line-height:1.8;
}

.blog-card-label{
    display:inline-flex;
    margin-top:4px;
    padding:7px 10px;
    border-radius:999px;
    background:#21160e;
    color:#d8893d;
    font-size:12px;
    font-weight:800;
}

.section-action{
    margin-top:34px;
    display:flex;
    justify-content:center;
    gap:14px;
    flex-wrap:wrap;
}

.outline-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:54px;
    padding:0 24px;
    border:1px solid rgba(216,137,61,.55);
    border-radius:999px;
    color:#fff;
    font-weight:800;
    transition:.25s;
}

.outline-btn:hover{
    background:#d8893d;
}

.empty-state{
    width:100%;
    background:#090909;
    border:1px solid rgba(255,255,255,.08);
    border-radius:18px;
    padding:34px;
}

.empty-state h3{
    margin-bottom:10px;
}

.empty-state p{
    color:#aaa;
}

/* NEWSLETTER */

.newsletter{
    padding:120px 8%;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:50px;
}

.newsletter h2{
    font-size:55px;
    margin-bottom:20px;
}

.newsletter p{
    color:#bbb;
}

.newsletter-message{
    display:inline-flex;
    margin-top:18px;
    padding:12px 16px;
    border-radius:14px;
    font-size:14px;
    font-weight:700;
}

.newsletter-message.is-success{
    background:rgba(24,128,74,.18);
    border:1px solid rgba(54,210,128,.34);
    color:#75e3a1;
}

.newsletter-message.is-error{
    background:rgba(120,32,32,.2);
    border:1px solid rgba(255,110,110,.34);
    color:#ff9a9a;
}

.newsletter-form{
    display:flex;
    flex-direction:column;
    gap:15px;
}

.newsletter-fields{
    display:flex;
    gap:15px;
}

.newsletter-trap{
    position:absolute !important;
    left:-9999px !important;
    width:1px !important;
    height:1px !important;
    opacity:0 !important;
    pointer-events:none !important;
}

.newsletter-form input{
    width:300px;
    background:#111;
    border:none;
    padding:18px;
    border-radius:50px;
    color:white;
}

.newsletter-form button{
    background:#d8893d;
    border:none;
    color:white;
    padding:18px 35px;
    border-radius:50px;
    cursor:pointer;
}

.newsletter-consent{
    max-width:560px;
    display:flex;
    align-items:flex-start;
    gap:10px;
    color:#bdbdbd;
    font-size:13px;
    line-height:1.5;
}

.newsletter-consent input{
    width:18px;
    min-width:18px;
    height:18px;
    margin-top:1px;
    accent-color:#d8893d;
}

.newsletter-consent a{
    color:#d8893d;
    font-weight:800;
}

/* CONTACT */

#contact{
    padding:120px 8%;
}

.contact-links{
    display:flex;
    justify-content:center;
    gap:25px;
}

.contact-links a{
    background:#090909;
    padding:18px 28px;
    border-radius:50px;
    border:1px solid rgba(255,255,255,.08);
}

/* FOOTER */

footer{
    padding:80px 8%;
    text-align:center;
}

footer img{
    width:80px;
    margin:auto;
    margin-bottom:30px;
}

footer h3{
    color:#d8893d;
    margin-bottom:20px;
}

footer p{
    color:#888;
}

.legal-page{
    background:#000;
}

.legal-shell{
    width:min(1180px,86vw);
    margin:0 auto;
    padding:170px 0 110px;
}

.legal-hero{
    margin-bottom:34px;
}

.legal-hero span{
    color:#d8893d;
    font-size:13px;
    font-weight:900;
    letter-spacing:8px;
    text-transform:uppercase;
}

.legal-hero h1{
    margin:16px 0 18px;
    font-size:clamp(42px,7vw,82px);
    line-height:.96;
    letter-spacing:0;
}

.legal-hero p{
    max-width:780px;
    color:#c9d8e8;
    font-size:18px;
    line-height:1.75;
}

.legal-card{
    max-width:900px;
    padding:54px;
    border-radius:24px;
    background:#101010;
    border:1px solid rgba(255,255,255,.08);
}

.legal-card h2{
    margin:34px 0 12px;
    color:#fff;
    font-size:24px;
    letter-spacing:0;
}

.legal-card h2:first-child{
    margin-top:0;
}

.legal-card p{
    color:#cbd5df;
    font-size:17px;
    line-height:1.85;
}

.legal-card a{
    color:#d8893d;
    font-weight:800;
}

.blog-card{
    display:block;
    color:#fff;
}

.blog-card img{
    width:100%;
    aspect-ratio:16/9;
    object-fit:cover;
    object-position:center 22%;
    border-radius:12px;
    margin-bottom:18px;
}

.blog-detail-page,
.blog-archive{
    width:min(90%, 1180px);
    max-width:1180px;
    margin:136px auto 120px;
}

.blog-hero{
    position:relative;
    display:grid;
    overflow:hidden;
    border-radius:26px;
    background:linear-gradient(180deg,#101010,#090909);
    border:1px solid rgba(255,255,255,.08);
    margin-bottom:58px;
    box-shadow:0 28px 90px rgba(0,0,0,.34);
}

.blog-hero:after{
    content:"";
    display:block;
    position:absolute;
    inset:0;
    pointer-events:none;
    background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.18));
}

.blog-hero img{
    width:100%;
    max-height:410px;
    aspect-ratio:16/5.6;
    object-fit:cover;
    object-position:center 22%;
    border-bottom:1px solid rgba(255,255,255,.08);
    opacity:.92;
}

.blog-hero-content{
    position:relative;
    z-index:1;
    max-width:900px;
    padding:50px 56px 56px;
}

.blog-hero-content span,
.blog-archive-hero span{
    display:inline-flex;
    margin-bottom:18px;
    padding:8px 12px;
    border-radius:999px;
    background:#21160e;
    color:#d8893d;
    font-size:12px;
    font-weight:900;
    letter-spacing:1px;
    text-transform:uppercase;
}

.blog-back-link{
    display:inline-flex;
    align-items:center;
    gap:9px;
    margin-bottom:16px;
    color:#cfcfcf;
    font-size:14px;
    font-weight:700;
}

.blog-back-link:before{
    content:"";
    width:20px;
    height:1px;
    background:#d8893d;
}

.blog-hero-content h1,
.blog-archive-hero h1{
    font-size:clamp(42px, 4.8vw, 68px);
    line-height:1.1;
    margin-bottom:20px;
}

.blog-hero-content p,
.blog-archive-hero p{
    color:#d4d4d4;
    font-size:20px;
    line-height:1.7;
    max-width:760px;
}

.blog-hero-content time{
    display:inline-flex;
    align-items:center;
    min-height:34px;
    padding:0 12px;
    border-radius:999px;
    background:rgba(255,255,255,.06);
    margin-top:18px;
    color:#aaa;
    font-size:14px;
}

.blog-article{
    position:relative;
    width:100%;
    max-width:none;
    margin:0 auto;
    background:linear-gradient(180deg,#101010,#090909);
    border:1px solid rgba(255,255,255,.08);
    border-radius:24px;
    padding:58px 56px 60px;
    color:#ddd;
    font-size:18px;
    line-height:1.9;
    box-shadow:0 24px 76px rgba(0,0,0,.26);
}

.blog-article:before{
    content:"";
    position:absolute;
    top:0;
    left:46px;
    right:46px;
    height:2px;
    background:linear-gradient(90deg,rgba(216,137,61,0),rgba(216,137,61,.8),rgba(216,137,61,0));
}

.blog-article-meta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    max-width:770px;
    margin-bottom:34px;
    padding-bottom:22px;
    border-bottom:1px solid rgba(255,255,255,.08);
    color:#888;
    font-size:13px;
}

.blog-article-meta span{
    color:#d8893d;
    font-size:12px;
    font-weight:900;
    letter-spacing:3px;
    text-transform:uppercase;
}

.blog-article p{
    max-width:770px;
    margin:0 0 28px;
    color:#dcdcdc;
}

.blog-article p:first-of-type{
    color:#f3f3f3;
    font-size:20px;
    line-height:1.85;
}

.blog-article p:last-child{
    margin-bottom:0;
}

.blog-article h2,
.blog-article h3{
    max-width:770px;
    margin:44px 0 18px;
    color:#fff;
    line-height:1.25;
}

.blog-article h2{
    font-size:30px;
}

.blog-article h3{
    font-size:23px;
}

.instagram-embed-card{
    max-width:770px;
    margin:36px 0;
    padding:24px;
    border:1px solid rgba(216,137,61,.35);
    border-radius:20px;
    background:linear-gradient(135deg,rgba(216,137,61,.18),rgba(255,255,255,.035));
    box-shadow:0 18px 48px rgba(0,0,0,.24);
}

.instagram-embed-card span{
    display:inline-flex;
    margin-bottom:10px;
    color:#d8893d;
    font-size:12px;
    font-weight:900;
    letter-spacing:2.8px;
    text-transform:uppercase;
}

.instagram-embed-card strong{
    display:block;
    color:#fff;
    font-size:24px;
    line-height:1.25;
}

.instagram-embed-card p{
    margin:10px 0 18px;
    color:#cfcfcf;
    font-size:16px;
    line-height:1.6;
}

.instagram-embed-card a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:46px;
    padding:0 20px;
    border-radius:999px;
    background:#d8893d;
    color:#050505;
    font-weight:900;
}

.blog-inline-image{
    max-width:920px;
    margin:44px 0;
}

.blog-inline-image img{
    display:block;
    width:100%;
    aspect-ratio:16/9;
    object-fit:cover;
    object-position:center 22%;
    border-radius:22px;
    border:1px solid rgba(255,255,255,.1);
    box-shadow:0 22px 58px rgba(0,0,0,.28);
}

.blog-inline-image figcaption{
    margin-top:12px;
    color:#9b9b9b;
    font-size:13px;
    line-height:1.5;
}

.blog-archive-hero{
    margin-bottom:44px;
}

.blog-archive-hero.compact{
    background:#090909;
    border:1px solid rgba(255,255,255,.08);
    border-radius:20px;
    padding:54px;
}

.blog-archive-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:28px;
}

.blog-pagination{
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:12px;
    margin:46px auto 0;
}

.blog-page-numbers{
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:8px;
}

.blog-page-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:44px;
    height:44px;
    padding:0 16px;
    border:1px solid rgba(216,137,61,.34);
    border-radius:999px;
    background:rgba(255,255,255,.055);
    color:#fff;
    font-size:14px;
    font-weight:900;
    line-height:1;
    transition:.2s ease;
}

.blog-page-link:hover,
.blog-page-link.is-active{
    background:#d8893d;
    border-color:#d8893d;
    color:#050505;
}

.blog-page-prev,
.blog-page-next{
    min-width:108px;
}

.blog-card-large h2{
    font-size:26px;
    line-height:1.25;
    margin:14px 0;
}

.blog-card-large strong{
    display:inline-flex;
    margin-top:18px;
    color:#d8893d;
}

.blog-event-promo{
    display:grid;
    grid-template-columns:220px minmax(0,1fr);
    gap:22px;
    max-width:920px;
    margin:42px 0;
    padding:16px;
    border:1px solid rgba(216,137,61,.24);
    border-radius:22px;
    background:linear-gradient(135deg,rgba(216,137,61,.14),rgba(255,255,255,.035));
}

.blog-event-promo-inline{
    max-width:770px;
}

.blog-event-promo-wide{
    align-self:stretch;
    margin:0;
}

.blog-event-promo-media{
    position:relative;
    display:block;
    overflow:hidden;
    min-height:170px;
    border-radius:16px;
    background:#050505;
}

.blog-event-promo-media img{
    width:100%;
    height:100%;
    min-height:170px;
    object-fit:cover;
    object-position:center 22%;
    opacity:.88;
    transition:transform .25s ease, opacity .25s ease;
}

.blog-event-promo.is-past .blog-event-promo-media img{
    opacity:.48;
    filter:saturate(.82);
}

.blog-event-promo-media span{
    position:absolute;
    left:12px;
    bottom:12px;
    display:inline-flex;
    padding:7px 10px;
    border-radius:999px;
    background:rgba(5,5,5,.72);
    color:#f4a54a;
    font-size:11px;
    font-weight:900;
    letter-spacing:1.5px;
    text-transform:uppercase;
}

.blog-event-promo-copy{
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-width:0;
    padding:6px 8px 6px 0;
}

.blog-event-promo-copy small,
.blog-related-head span{
    color:#d8893d;
    font-size:11px;
    font-weight:900;
    letter-spacing:2.8px;
    text-transform:uppercase;
}

.blog-event-promo-copy h3{
    margin:10px 0 14px;
    color:#fff;
    font-size:24px;
    line-height:1.2;
}

.blog-event-promo-copy h3 a{
    color:inherit;
}

.blog-event-promo-meta{
    display:grid;
    gap:7px;
    color:#bfbfbf;
    font-size:14px;
    line-height:1.4;
}

.blog-event-promo-action{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:max-content;
    max-width:100%;
    min-height:42px;
    margin-top:18px;
    padding:0 18px;
    border-radius:999px;
    background:#d8893d;
    color:#050505;
    font-size:13px;
    font-weight:900;
    line-height:1.25;
    text-align:center;
    white-space:normal;
}

.blog-event-promo:hover .blog-event-promo-media img{
    transform:scale(1.03);
    opacity:.98;
}

.blog-related-section{
    width:100%;
    margin:28px auto 0;
    padding:20px 0 0;
    border:0;
    border-top:1px solid rgba(255,255,255,.08);
    border-radius:0;
    background:transparent;
    box-shadow:none;
}

.blog-related-head{
    display:block;
    margin-bottom:12px;
}

.blog-related-head h2{
    margin:4px 0 0;
    color:#fff;
    font-size:21px;
    line-height:1.1;
    text-align:left;
}

.blog-related-head p{
    display:none;
}

.blog-related-layout{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
    align-items:stretch;
}

.blog-related-grid{
    display:contents;
}

.blog-related-layout .blog-event-promo-wide{
    width:100%;
    max-width:none;
    min-height:168px;
    grid-template-columns:92px minmax(0,1fr);
    align-self:stretch;
    align-items:stretch;
    gap:10px;
    padding:10px;
    border-radius:16px;
    background:rgba(216,137,61,.08);
}

.blog-related-layout .blog-event-promo-wide .blog-event-promo-media{
    min-height:0;
    height:100%;
    aspect-ratio:auto;
    max-height:none;
}

.blog-related-layout .blog-event-promo-wide .blog-event-promo-media img{
    min-height:0;
    object-position:center center;
}

.blog-related-layout .blog-event-promo-wide.is-past .blog-event-promo-media img{
    opacity:.66;
}

.blog-related-layout .blog-event-promo-wide .blog-event-promo-media span{
    left:50%;
    top:50%;
    bottom:auto;
    transform:translate(-50%,-50%);
    justify-content:center;
    width:min(74px,78%);
    padding:6px 8px;
    text-align:center;
    white-space:normal;
    font-size:9px;
    line-height:1.15;
    letter-spacing:1.2px;
}

.blog-related-layout .blog-event-promo-wide .blog-event-promo-copy{
    display:flex;
    position:relative;
    min-width:0;
    flex-direction:column;
    padding:1px 0;
}

.blog-related-layout .blog-event-promo-wide .blog-event-promo-copy h3{
    margin:4px 0 6px;
    font-size:15px;
    line-height:1.15;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}

.blog-related-layout .blog-event-promo-wide .blog-event-promo-meta{
    gap:2px;
    font-size:11px;
    line-height:1.25;
}

.blog-related-layout .blog-event-promo-wide .blog-event-promo-meta span:nth-child(3){
    position:absolute;
    right:0;
    bottom:38px;
    display:inline-flex;
    align-items:center;
    min-height:24px;
    max-width:100%;
    padding:0 9px;
    border:1px solid rgba(216,137,61,.32);
    border-radius:999px;
    background:rgba(216,137,61,.16);
    color:#f4a54a;
    font-size:10px;
    font-weight:900;
    line-height:1;
    white-space:nowrap;
    box-shadow:0 10px 24px rgba(0,0,0,.16);
}

.blog-related-layout .blog-event-promo-wide .blog-event-promo-meta span:nth-child(n+4){
    display:none;
}

.blog-related-layout .blog-event-promo-wide .blog-event-promo-action{
    width:100%;
    min-height:32px;
    margin-top:auto;
    padding:0 10px;
    font-size:11px;
}

.blog-related-card{
    display:grid;
    grid-template-columns:92px minmax(0,1fr);
    grid-template-rows:auto auto 1fr auto;
    align-items:start;
    gap:10px;
    min-height:168px;
    padding:10px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:14px;
    background:#111;
    color:#fff;
    transition:border-color .2s ease, transform .2s ease;
}

.blog-related-card:hover{
    border-color:rgba(216,137,61,.42);
    transform:translateY(-2px);
}

.blog-related-card img{
    grid-row:1 / span 5;
    width:100%;
    height:100%;
    min-height:128px;
    object-fit:cover;
    object-position:center 22%;
    border-radius:10px;
    margin-bottom:0;
}

.blog-related-card span{
    grid-column:2;
    color:#d8893d;
    font-size:10px;
    font-weight:900;
    text-transform:uppercase;
}

.blog-related-card strong{
    grid-column:2;
    margin:2px 0 0;
    color:#fff;
    font-size:15px;
    line-height:1.22;
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
}

.blog-related-card time{
    grid-column:2;
    align-self:end;
    justify-self:start;
    display:inline-flex;
    align-items:center;
    min-height:24px;
    margin-top:4px;
    padding:0 9px;
    border-radius:999px;
    background:rgba(255,255,255,.07);
    color:#c9c9c9;
    font-size:11px;
    font-weight:800;
    line-height:1;
}

.blog-related-card em{
    grid-column:2;
    align-self:end;
    justify-self:start;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:32px;
    margin-top:6px;
    padding:0 13px;
    border-radius:999px;
    background:#d8893d;
    color:#050505;
    font-size:11px;
    font-style:normal;
    font-weight:900;
    line-height:1;
    white-space:nowrap;
}

.blog-related-card small{
    display:none;
}

/* SEO LANDING PAGES */

.seo-landing{
    width:100%;
    padding-top:116px;
}

.seo-hero{
    min-height:64vh;
    padding:110px 8% 90px;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    position:relative;
    isolation:isolate;
    overflow:hidden;
    background:url("../images/image.png") center center/cover;
}

.seo-hero:before{
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    background:linear-gradient(90deg,rgba(0,0,0,.9),rgba(0,0,0,.56),rgba(0,0,0,.2));
}

.seo-hero span,
.seo-copy span,
.seo-guide-card span{
    display:inline-flex;
    color:#d8893d;
    letter-spacing:4px;
    text-transform:uppercase;
    font-size:12px;
    font-weight:800;
    margin-bottom:18px;
}

.seo-hero h1{
    max-width:900px;
    font-size:82px;
    line-height:.96;
    margin-bottom:22px;
}

.seo-hero p{
    max-width:720px;
    color:#ddd;
    font-size:20px;
    line-height:1.7;
    margin-bottom:30px;
}

.seo-section{
    padding:90px 8%;
}

.seo-card-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}

.seo-event-card,
.seo-copy,
.seo-guide-card{
    background:#0b0b0b;
    border:1px solid rgba(255,255,255,.08);
    border-radius:18px;
    color:#fff;
}

.seo-event-card{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:22px;
    padding:24px;
    transition:.25s;
}

.seo-event-card:hover{
    border-color:rgba(216,137,61,.48);
    transform:translateY(-3px);
}

.seo-event-card span{
    display:inline-flex;
    margin-bottom:12px;
    color:#d8893d;
    font-size:12px;
    font-weight:800;
    letter-spacing:2px;
    text-transform:uppercase;
}

.seo-event-card h3{
    font-size:22px;
    line-height:1.25;
    margin-bottom:12px;
}

.seo-event-card p{
    color:#bdbdbd;
    line-height:1.6;
}

.seo-event-card strong{
    flex:0 0 auto;
    color:#d8893d;
    white-space:nowrap;
}

.seo-content-grid{
    display:grid;
    grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);
    gap:24px;
}

.seo-copy{
    padding:34px;
}

.seo-copy h2{
    font-size:38px;
    line-height:1.12;
    margin-bottom:18px;
}

.seo-copy p{
    color:#cfcfcf;
    line-height:1.85;
    margin-bottom:16px;
}

.seo-keywords{
    display:flex;
    flex-direction:column;
    gap:12px;
}

.seo-keywords a{
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:48px;
    padding:0 16px;
    border:1px solid rgba(216,137,61,.24);
    border-radius:999px;
    color:#fff;
}

.seo-keywords a:hover{
    background:#d8893d;
    color:#050505;
}

.seo-guide-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:20px;
}

.seo-guide-card{
    padding:30px;
}

.seo-guide-card h3{
    font-size:25px;
    line-height:1.2;
    margin-bottom:14px;
}

.seo-guide-card p{
    color:#cfcfcf;
    line-height:1.75;
}


/* RESPONSIVE */

@media(max-width:1320px){

    header{
        padding:22px 6%;
    }

    .nav-toggle{
        display:flex;
    }

    .navbar ul{
        position:fixed;
        top:0;
        right:0;
        width:min(82vw,360px);
        height:100vh;
        display:flex;
        flex-direction:column;
        gap:22px;
        padding:110px 28px 34px;
        background:#050505;
        border-left:1px solid rgba(216,137,61,.22);
        box-shadow:-30px 0 80px rgba(0,0,0,.55);
        transform:translateX(105%);
        transition:.28s ease;
        z-index:1000;
        overflow-y:auto;
    }

    .site-nav-open .navbar ul{
        transform:translateX(0);
    }

    .navbar ul li a{
        font-size:14px;
        letter-spacing:3px;
    }

    .mobile-ticket-link{
        display:block;
    }

    .mobile-ticket-link a{
        display:block;
        padding:15px 18px;
        border-radius:999px;
        background:#d8893d;
        text-align:center;
        color:#fff !important;
        font-weight:800;
    }

    .nav-dropdown .dropdown-menu{
        position:static;
        min-width:0;
        margin-top:12px;
        opacity:1;
        pointer-events:auto;
        transform:none;
        box-shadow:none;
    }

    .site-theme-toggle{
        min-width:96px;
        height:44px;
        padding:0 12px;
        letter-spacing:1px;
    }

    .ticket-btn{
        display:none;
    }
}

@media(max-width:991px){

    header{
        padding:22px 6%;
    }

    .nav-toggle{
        display:flex;
    }

    .navbar ul{
        position:fixed;
        top:0;
        right:0;
        width:min(82vw,360px);
        height:100vh;
        display:flex;
        flex-direction:column;
        gap:22px;
        padding:110px 28px 34px;
        background:#050505;
        border-left:1px solid rgba(216,137,61,.22);
        box-shadow:-30px 0 80px rgba(0,0,0,.55);
        transform:translateX(105%);
        transition:.28s ease;
        z-index:1000;
        overflow-y:auto;
    }

    .site-nav-open .navbar ul{
        transform:translateX(0);
    }

    .navbar ul li a{
        font-size:14px;
    }

    .mobile-ticket-link{
        display:block;
    }

    .mobile-ticket-link a{
        display:block;
        padding:15px 18px;
        border-radius:999px;
        background:#d8893d;
        text-align:center;
        color:#fff !important;
        font-weight:800;
    }

    .nav-dropdown .dropdown-menu{
        position:static;
        min-width:0;
        margin-top:12px;
        opacity:1;
        pointer-events:auto;
        transform:none;
        box-shadow:none;
    }

    .ticket-btn{
        display:none;
    }

    .hero-content h1{
        font-size:60px;
    }

    .hero-buttons{
        flex-direction:column;
        align-items:flex-start;
    }

    .event-card{
        flex-direction:column;
        align-items:flex-start;
    }

    .event-content h4{
        font-size:42px;
    }

    .blog-container{
        grid-template-columns:1fr;
    }

    .blog-archive-grid{
        grid-template-columns:1fr;
    }

    .blog-pagination{
        margin-top:34px;
        gap:10px;
    }

    .blog-page-link{
        min-width:42px;
        height:42px;
        padding:0 14px;
    }

    .blog-page-prev,
    .blog-page-next{
        min-width:120px;
    }

    .blog-hero{
        min-height:0;
    }

    .blog-hero img{
        aspect-ratio:16/10;
    }

    .blog-hero-content{
        padding:30px;
    }

    .blog-hero-content h1,
    .blog-archive-hero h1{
        font-size:38px;
    }

    .blog-article{
        padding:32px 24px;
        border-radius:20px;
        font-size:17px;
        line-height:1.85;
    }

    .blog-article:before{
        left:24px;
        right:24px;
    }

    .blog-article-meta{
        display:block;
    }

    .blog-article-meta time{
        display:block;
        margin-top:8px;
    }

    .blog-article p:first-of-type{
        font-size:18px;
    }

    .blog-event-promo,
    .blog-related-layout,
    .blog-related-grid{
        grid-template-columns:1fr;
    }

    .blog-event-promo{
        padding:14px;
    }

    .blog-event-promo-copy{
        padding:4px;
    }

    .blog-related-section{
        padding:16px 0 0;
        border-radius:0;
    }

    .blog-related-layout{
        gap:14px;
    }

    .blog-related-grid{
        display:flex;
        grid-template-columns:none;
        gap:10px;
        overflow-x:auto;
        padding:0 2px 8px 0;
        scroll-snap-type:x mandatory;
        scrollbar-width:thin;
    }

    .blog-related-card{
        flex:0 0 min(76vw,250px);
        min-height:168px;
        scroll-snap-align:start;
    }

    .blog-related-card img{
        height:100%;
        min-height:128px;
    }

    .blog-related-layout .blog-event-promo-wide{
        grid-template-columns:86px minmax(0,1fr);
    }

    .blog-related-layout .blog-event-promo-wide .blog-event-promo-media{
        aspect-ratio:auto;
        height:100%;
    }

    .blog-related-head{
        display:block;
    }

    .blog-related-head p{
        margin-top:10px;
    }

    .seo-landing{
        padding-top:92px;
    }

    .seo-hero{
        min-height:58vh;
        padding:84px 6% 60px;
    }

    .seo-hero h1{
        font-size:48px;
    }

    .seo-hero p{
        font-size:17px;
    }

    .seo-section{
        padding:64px 6%;
    }

    .seo-card-grid,
    .seo-content-grid,
    .seo-guide-grid{
        grid-template-columns:1fr;
    }

    .seo-event-card{
        flex-direction:column;
    }

    .seo-event-card strong{
        white-space:normal;
    }

    .seo-copy h2{
        font-size:30px;
    }

    .newsletter{
        flex-direction:column;
    }

    .newsletter-form{
        flex-direction:column;
        width:100%;
    }

    .newsletter-fields{
        flex-direction:column;
        width:100%;
    }

    .newsletter-form input{
        width:100%;
    }

    .contact-links{
        flex-direction:column;
    }
}

/* THEME SWITCH */

html{
    color-scheme:dark;
}

html[data-theme="light"]{
    color-scheme:light;
}

.nav-actions{
    display:flex;
    align-items:center;
    gap:12px;
}

.site-theme-toggle{
    min-width:104px;
    height:48px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:0 16px;
    border:1px solid rgba(216,137,61,.42);
    border-radius:999px;
    background:rgba(255,255,255,.07);
    color:#fff;
    font:inherit;
    font-size:12px;
    font-weight:900;
    letter-spacing:1.5px;
    text-transform:uppercase;
    cursor:pointer;
    transition:.25s;
}

.site-theme-toggle:hover{
    border-color:#d8893d;
    transform:translateY(-1px);
}

.theme-toggle-orb{
    width:18px;
    height:18px;
    border-radius:50%;
    background:#d8893d;
    box-shadow:0 0 0 5px rgba(216,137,61,.13);
}

html[data-theme="light"] body{
    background:#f7f2ea;
    color:#17120d;
}

html[data-theme="light"] a{
    color:#17120d;
}

html[data-theme="light"] header{
    background:#f7f2ea !important;
    border-bottom:1px solid rgba(65,45,22,.13) !important;
    box-shadow:0 16px 50px rgba(42,28,10,.08) !important;
    backdrop-filter:blur(18px) saturate(1.08);
}

html[data-theme="light"] .logo img{
    filter:invert(1);
}

html[data-theme="light"] .navbar ul li a,
html[data-theme="light"] .navbar a{
    color:#17120d !important;
}

html[data-theme="light"] .dropdown-menu{
    background:#fffaf3;
    border-color:rgba(216,137,61,.36);
    box-shadow:0 18px 55px rgba(57,38,14,.14);
}

html[data-theme="light"] .dropdown-menu a:hover{
    background:#f0e2cf;
}

html[data-theme="light"] .nav-toggle,
html[data-theme="light"] .site-theme-toggle,
html[data-theme="light"] .hero-btn.secondary{
    background:#fffaf3 !important;
    border-color:rgba(42,28,12,.14) !important;
    color:#17120d !important;
}

html[data-theme="light"] .nav-toggle span{
    background:#17120d !important;
}

html[data-theme="light"] .ticket-btn{
    color:#17120d !important;
}

html[data-theme="light"] .ticket-btn:hover,
html[data-theme="light"] .hero-btn,
html[data-theme="light"] .buy-btn,
html[data-theme="light"] .newsletter-form button,
html[data-theme="light"] .mobile-ticket-link a{
    color:#050505 !important;
}

html[data-theme="light"] .hero{
    background:
        linear-gradient(90deg,rgba(247,242,234,.96),rgba(247,242,234,.72),rgba(247,242,234,.22)),
        url("../images/image.png") center center/cover;
}

html[data-theme="light"] .hero-content p,
html[data-theme="light"] .event-content p,
html[data-theme="light"] .about-content p,
html[data-theme="light"] .section-title p,
html[data-theme="light"] .newsletter p,
html[data-theme="light"] footer p,
html[data-theme="light"] .blog-card p,
html[data-theme="light"] .empty-state p,
html[data-theme="light"] .blog-hero-content p,
html[data-theme="light"] .blog-archive-hero p,
html[data-theme="light"] .blog-article{
    color:#594d40;
}

html[data-theme="light"] .event-card,
html[data-theme="light"] .newsletter,
html[data-theme="light"] #about,
html[data-theme="light"] #blog,
html[data-theme="light"] #events,
html[data-theme="light"] #contact,
html[data-theme="light"] footer{
    background:#f7f2ea;
}

html[data-theme="light"] .lineup span,
html[data-theme="light"] .blog-card,
html[data-theme="light"] .empty-state,
html[data-theme="light"] .blog-hero,
html[data-theme="light"] .blog-article,
html[data-theme="light"] .blog-archive-hero.compact,
html[data-theme="light"] .contact-links a{
    background:#fffaf3;
    border-color:rgba(65,45,22,.11);
    box-shadow:0 16px 44px rgba(42,28,10,.07);
}

html[data-theme="light"] .lineup span,
html[data-theme="light"] .blog-card,
html[data-theme="light"] .contact-links a,
html[data-theme="light"] .outline-btn,
html[data-theme="light"] .blog-back-link{
    color:#17120d;
}

html[data-theme="light"] .blog-card-label,
html[data-theme="light"] .blog-hero-content span,
html[data-theme="light"] .blog-archive-hero span,
html[data-theme="light"] .seo-copy span,
html[data-theme="light"] .seo-guide-card span{
    background:#f0e2cf;
}

html[data-theme="light"] .blog-hero,
html[data-theme="light"] .blog-article{
    background:linear-gradient(180deg,#fffaf3,#f8efe2);
}

html[data-theme="light"] .blog-hero-content time{
    background:#f0e2cf;
    color:#6b5a45;
}

html[data-theme="light"] .blog-article-meta{
    border-color:rgba(65,45,22,.12);
    color:#756755;
}

html[data-theme="light"] .blog-article-meta span{
    color:#c97827;
}

html[data-theme="light"] .blog-article p{
    color:#4f4337;
}

html[data-theme="light"] .blog-article p:first-of-type{
    color:#17120d;
}

html[data-theme="light"] .blog-article h2,
html[data-theme="light"] .blog-article h3,
html[data-theme="light"] .instagram-embed-card strong{
    color:#17120d;
}

html[data-theme="light"] .instagram-embed-card{
    background:linear-gradient(135deg,#fff4e4,#fbefe0);
    border-color:rgba(201,120,39,.3);
    box-shadow:0 16px 42px rgba(42,28,10,.08);
}

html[data-theme="light"] .instagram-embed-card p{
    color:#5d5042;
}

html[data-theme="light"] .blog-inline-image img{
    border-color:rgba(70,48,25,.12);
    box-shadow:0 22px 56px rgba(76,52,24,.16);
}

html[data-theme="light"] .blog-inline-image figcaption{
    color:#7b6d5d;
}

html[data-theme="light"] .blog-event-promo,
html[data-theme="light"] .blog-related-card{
    background:#fffaf3;
    border-color:rgba(65,45,22,.12);
    box-shadow:0 16px 44px rgba(42,28,10,.07);
}

html[data-theme="light"] .blog-related-card time{
    background:#f0e2cf;
    color:#6a4b29;
}

html[data-theme="light"] .blog-related-section{
    background:transparent;
    border-top-color:rgba(65,45,22,.14);
    box-shadow:none;
}

html[data-theme="light"] .blog-page-link{
    background:#fffaf3;
    border-color:rgba(65,45,22,.16);
    color:#17120d;
    box-shadow:0 12px 30px rgba(42,28,10,.06);
}

html[data-theme="light"] .blog-page-link:hover,
html[data-theme="light"] .blog-page-link.is-active{
    background:#d8893d;
    border-color:#d8893d;
    color:#050505;
}

html[data-theme="light"] .blog-event-promo{
    background:linear-gradient(135deg,#fff4e4,#fffaf3);
}

html[data-theme="light"] .blog-event-promo-copy h3,
html[data-theme="light"] .blog-related-head h2,
html[data-theme="light"] .blog-related-card strong{
    color:#17120d;
}

html[data-theme="light"] .blog-event-promo-meta,
html[data-theme="light"] .blog-related-head p,
html[data-theme="light"] .blog-related-card small{
    color:#594d40;
}

html[data-theme="light"] .blog-related-layout .blog-event-promo-wide .blog-event-promo-meta span:nth-child(3){
    background:#f0e2cf;
    border-color:rgba(201,120,39,.24);
    color:#b56518;
    box-shadow:0 10px 22px rgba(42,28,10,.08);
}

html[data-theme="light"] .blog-event-promo-media span{
    background:rgba(255,250,243,.86);
    color:#b56518;
}

html[data-theme="light"] .legal-page{
    background:#f7f2ea;
}

html[data-theme="light"] .legal-card{
    background:#fffaf3;
    border-color:rgba(65,45,22,.11);
    box-shadow:0 18px 55px rgba(42,28,10,.08);
}

html[data-theme="light"] .legal-hero p,
html[data-theme="light"] .legal-card p{
    color:#594d40;
}

html[data-theme="light"] .legal-card h2,
html[data-theme="light"] .legal-hero h1{
    color:#17120d;
}

html[data-theme="light"] .seo-hero:before{
    background:linear-gradient(90deg,rgba(247,242,234,.96),rgba(247,242,234,.76),rgba(247,242,234,.24));
}

html[data-theme="light"] .seo-hero p,
html[data-theme="light"] .seo-copy p,
html[data-theme="light"] .seo-guide-card p,
html[data-theme="light"] .seo-event-card p{
    color:#594d40;
}

html[data-theme="light"] .seo-event-card,
html[data-theme="light"] .seo-copy,
html[data-theme="light"] .seo-guide-card{
    background:#fffaf3;
    border-color:rgba(65,45,22,.11);
    color:#17120d;
    box-shadow:0 16px 44px rgba(42,28,10,.07);
}

html[data-theme="light"] .seo-keywords a{
    color:#17120d;
}

html[data-theme="light"] .seo-keywords a:hover{
    color:#050505;
}

html[data-theme="light"] .newsletter-form input{
    background:#fffaf3;
    border:1px solid rgba(65,45,22,.12);
    color:#17120d;
    box-shadow:0 14px 35px rgba(42,28,10,.07);
}

html[data-theme="light"] .newsletter-consent{
    color:#594d40;
}

html[data-theme="light"] .newsletter-message.is-success{
    background:#e7f7ed;
    color:#176d3a;
}

html[data-theme="light"] .newsletter-message.is-error{
    background:#fff0ec;
    color:#9a2e1f;
}

@media(max-width:991px){
    .nav-actions{
        order:2;
        margin-left:auto;
    }

    .nav-toggle{
        order:3;
        margin-left:8px;
    }

    .site-theme-toggle{
        min-width:48px;
        width:48px;
        padding:0;
    }

    .site-theme-toggle [data-theme-label]{
        display:none;
    }

    html[data-theme="light"] .navbar ul{
        background:#fffaf3;
        border-left-color:rgba(216,137,61,.28);
        box-shadow:-30px 0 80px rgba(57,38,14,.16);
    }
}

/* HOME PAGE REFINEMENT */

.home-page .home-hero{
    position:relative;
    min-height:92vh;
    padding:118px 8% 46px;
    background:
        linear-gradient(90deg,rgba(0,0,0,.84),rgba(0,0,0,.45),rgba(0,0,0,.18)),
        linear-gradient(180deg,rgba(0,0,0,.2),rgba(0,0,0,.8)),
        url("../images/image.png") center center/cover;
}

.home-page .hero-shell{
    width:100%;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(300px,350px);
    gap:34px;
    align-items:end;
}

.home-page .hero-content{
    max-width:930px;
}

.home-page .hero-content h1{
    max-width:980px;
    font-size:clamp(52px,6.2vw,92px);
    letter-spacing:0;
    line-height:.92;
}

.home-page .hero-content p{
    max-width:760px;
    color:#e3e3e3;
    line-height:1.65;
}

.home-page .hero-btn{
    padding:14px 18px;
    font-size:14px;
}

.home-page .hero-buttons{
    gap:10px;
}

.hero-proof-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    max-width:760px;
    margin-top:26px;
}

.hero-proof-grid div,
.hero-next-card,
.home-intro-card,
.about-panel{
    background:rgba(10,10,10,.76);
    border:1px solid rgba(255,255,255,.1);
    box-shadow:0 24px 70px rgba(0,0,0,.34);
    backdrop-filter:blur(16px);
}

.hero-proof-grid div{
    min-height:84px;
    padding:16px;
    border-radius:18px;
}

.hero-proof-grid strong{
    display:block;
    color:#d8893d;
    font-size:30px;
    line-height:1;
}

.hero-proof-grid span{
    display:block;
    margin-top:8px;
    color:#cfcfcf;
    font-size:13px;
    line-height:1.4;
}

.hero-next-card{
    display:block;
    color:#fff;
    border-radius:24px;
    padding:28px;
    transition:.25s;
}

.hero-next-card:hover{
    transform:translateY(-4px);
    border-color:rgba(216,137,61,.5);
}

.hero-next-card > span,
.about-copy > span{
    display:block;
    color:#d8893d;
    letter-spacing:4px;
    text-transform:uppercase;
    font-size:12px;
    font-weight:900;
    margin-bottom:14px;
}

.hero-next-card h2{
    font-size:28px;
    line-height:1.18;
    margin-bottom:18px;
}

.hero-next-meta{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-bottom:18px;
}

.hero-next-meta small{
    display:inline-flex;
    padding:8px 10px;
    border-radius:999px;
    background:#171717;
    color:#e6e6e6;
    font-weight:800;
}

.hero-next-card p{
    color:#c9c9c9;
    line-height:1.6;
    margin-bottom:18px;
}

.hero-next-card strong{
    display:block;
    color:#d8893d;
    margin-bottom:18px;
}

.hero-next-card em{
    display:inline-flex;
    align-items:center;
    min-height:42px;
    padding:0 16px;
    border-radius:999px;
    background:#d8893d;
    color:#050505;
    font-style:normal;
    font-weight:900;
}

.home-intro-strip{
    padding:34px 8% 20px;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:16px;
    background:#000;
}

.home-intro-card{
    display:block;
    min-height:160px;
    padding:24px;
    border-radius:20px;
    color:#fff;
    transition:.25s;
}

.home-intro-card:hover{
    transform:translateY(-3px);
    border-color:rgba(216,137,61,.44);
}

.home-intro-card span{
    display:inline-flex;
    width:38px;
    height:38px;
    align-items:center;
    justify-content:center;
    border-radius:14px;
    background:#d8893d;
    color:#050505;
    font-weight:900;
    margin-bottom:22px;
}

.home-intro-card strong{
    display:block;
    font-size:20px;
    margin-bottom:10px;
}

.home-intro-card p{
    color:#bfbfbf;
    line-height:1.65;
    font-size:14px;
}

.home-page #events,
.home-page #about,
.home-page #blog{
    padding:96px 8%;
}

.home-section-head{
    display:flex;
    justify-content:space-between;
    gap:34px;
    align-items:flex-end;
    margin-bottom:46px;
}

.home-section-head .section-title{
    margin-bottom:0;
}

.home-category-list{
    display:flex;
    justify-content:flex-end;
    gap:10px;
    flex-wrap:wrap;
    max-width:520px;
}

.home-category-list a{
    display:inline-flex;
    align-items:center;
    gap:10px;
    min-height:44px;
    padding:0 14px;
    border:1px solid rgba(255,255,255,.11);
    border-radius:999px;
    background:#101010;
    color:#efefef;
    font-weight:800;
    transition:.25s;
}

.home-category-list a.is-active,
.home-category-list a:hover{
    background:#d8893d;
    color:#050505;
    border-color:#d8893d;
}

.home-category-list small{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:24px;
    height:24px;
    padding:0 7px;
    border-radius:999px;
    background:rgba(255,255,255,.1);
}

.events-showcase{
    display:grid;
    gap:26px;
}

.home-page .event-card{
    display:grid;
    grid-template-columns:minmax(260px,380px) minmax(0,1fr);
    gap:34px;
    align-items:stretch;
    margin-bottom:0;
    padding:26px;
    border-radius:28px;
    background:
        radial-gradient(circle at top right,rgba(216,137,61,.12),transparent 36%),
        linear-gradient(180deg,#0f0f0f,#070707);
    border:1px solid rgba(255,255,255,.08);
}

.home-page .event-image{
    width:100%;
    min-height:320px;
}

.home-page .event-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    border-radius:20px;
}

.event-eyebrow-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin-bottom:14px;
}

.event-eyebrow-row h3{
    margin-bottom:0;
}

.event-eyebrow-row span{
    display:inline-flex;
    min-height:36px;
    align-items:center;
    padding:0 12px;
    border-radius:999px;
    background:#171717;
    color:#d9d9d9;
    font-size:13px;
    font-weight:800;
    white-space:nowrap;
}

.home-page .event-content h4{
    max-width:880px;
    font-size:clamp(32px,4vw,56px);
    line-height:1.05;
}

.event-meta-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    margin:24px 0 28px;
}

.event-meta-grid span{
    display:flex;
    align-items:flex-start;
    gap:10px;
    min-height:76px;
    padding:16px;
    border-radius:16px;
    background:#111;
    color:#d5d5d5;
    line-height:1.45;
}

.event-meta-grid i{
    color:#d8893d;
    margin-top:2px;
}

.event-actions{
    display:flex;
    align-items:center;
    gap:18px;
    flex-wrap:wrap;
}

.event-guide-link{
    color:#d8893d;
    font-weight:800;
}

.about-panel{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(280px,420px);
    gap:38px;
    align-items:center;
    border-radius:28px;
    padding:48px;
}

.about-copy h2{
    font-size:clamp(42px,5vw,72px);
    line-height:1;
    margin-bottom:22px;
}

.about-copy p{
    max-width:780px;
    color:#c9c9c9;
    line-height:1.8;
    font-size:18px;
    margin-bottom:18px;
}

.about-copy h3{
    color:#d8893d;
    font-size:clamp(30px,4vw,54px);
    margin-top:30px;
}

.about-feature-grid{
    display:grid;
    gap:14px;
}

.about-feature-grid div{
    min-height:112px;
    padding:22px;
    border-radius:20px;
    background:#111;
    border:1px solid rgba(255,255,255,.08);
}

.about-feature-grid strong{
    display:block;
    color:#d8893d;
    font-size:34px;
    margin-bottom:8px;
}

.about-feature-grid span{
    color:#d2d2d2;
    line-height:1.5;
}

.blog-head-actions{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    justify-content:flex-end;
}

.home-page .blog-container{
    align-items:stretch;
}

.home-page .blog-card{
    border-radius:22px;
}

.home-page .blog-card img{
    border-radius:16px;
}

html[data-theme="light"] .home-page .home-hero{
    background:
        linear-gradient(90deg,rgba(247,242,234,.96),rgba(247,242,234,.65),rgba(247,242,234,.18)),
        linear-gradient(180deg,rgba(247,242,234,.1),rgba(247,242,234,.86)),
        url("../images/image.png") center center/cover;
}

html[data-theme="light"] .home-intro-strip{
    background:linear-gradient(180deg,#f7f2ea 0%,#f7f2ea 62%,#fffaf3 100%);
    border-top:1px solid rgba(65,45,22,.08);
    border-bottom:1px solid rgba(65,45,22,.08);
}

html[data-theme="light"] .hero-proof-grid div,
html[data-theme="light"] .hero-next-card,
html[data-theme="light"] .home-intro-card,
html[data-theme="light"] .about-panel,
html[data-theme="light"] .home-page .event-card{
    background:#fffaf3;
    border-color:rgba(65,45,22,.12);
    box-shadow:0 22px 60px rgba(42,28,10,.08);
}

html[data-theme="light"] .hero-proof-grid span,
html[data-theme="light"] .home-intro-card p,
html[data-theme="light"] .hero-next-card p,
html[data-theme="light"] .about-copy p,
html[data-theme="light"] .about-feature-grid span,
html[data-theme="light"] .event-meta-grid span{
    color:#594d40;
}

html[data-theme="light"] .hero-next-card,
html[data-theme="light"] .home-intro-card{
    color:#17120d;
}

html[data-theme="light"] .hero-next-meta small,
html[data-theme="light"] .event-eyebrow-row span,
html[data-theme="light"] .event-meta-grid span,
html[data-theme="light"] .about-feature-grid div,
html[data-theme="light"] .home-category-list a{
    background:#f1e5d4;
    border-color:rgba(65,45,22,.11);
    color:#17120d;
}

html[data-theme="light"] .home-category-list a.is-active,
html[data-theme="light"] .home-category-list a:hover{
    background:#d8893d;
    color:#050505;
}

@media(max-width:1100px){
    .home-page .hero-shell,
    .about-panel{
        grid-template-columns:1fr;
    }

    .home-intro-strip{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .home-section-head{
        display:block;
    }

    .home-category-list,
    .blog-head-actions{
        justify-content:flex-start;
        margin-top:22px;
    }

    .home-page .event-card{
        grid-template-columns:1fr;
    }

    .home-page .event-image{
        min-height:0;
    }
}

@media(max-width:720px){
    .home-page .home-hero{
        min-height:0;
        padding:112px 6% 46px;
    }

    .home-page .hero-content h1{
        font-size:44px;
    }

    .home-page .hero-content p{
        font-size:17px;
    }

    .home-intro-strip,
    .event-meta-grid{
        grid-template-columns:1fr;
    }

    .hero-proof-grid{
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:8px;
        margin-top:24px;
    }

    .hero-proof-grid div{
        min-height:78px;
        padding:12px 10px;
        border-radius:15px;
    }

    .hero-proof-grid strong{
        font-size:24px;
    }

    .hero-proof-grid span{
        font-size:11px;
    }

    .hero-next-card{
        display:none;
    }

    .home-page .hero-buttons{
        width:100%;
        align-items:stretch;
    }

    .home-intro-card{
        min-height:132px;
        padding:20px;
    }

    .home-page #events,
    .home-page #about,
    .home-page #blog{
        padding:66px 6%;
    }

    .home-page .event-card,
    .about-panel{
        padding:18px;
        border-radius:22px;
    }

    .home-page .event-content h4{
        font-size:32px;
    }

    .event-eyebrow-row{
        align-items:flex-start;
        flex-direction:column;
    }

    .blog-head-actions .outline-btn,
    .event-actions .buy-btn,
    .event-actions .event-guide-link{
        width:100%;
        justify-content:center;
        text-align:center;
    }
}

/* AI OUTFIT */

.home-outfit-band{
    width:calc(100% - 16%);
    margin:18px auto 0;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:28px;
    padding:28px 32px;
    border:1px solid rgba(216,137,61,.28);
    border-radius:28px;
    background:
        radial-gradient(circle at right,rgba(216,137,61,.14),transparent 34%),
        linear-gradient(180deg,#101010,#080808);
    box-shadow:0 22px 70px rgba(0,0,0,.28);
}

.home-outfit-band span,
.outfit-copy > span,
.outfit-result-copy > span,
.outfit-suggestion-card > span{
    display:block;
    margin-bottom:12px;
    color:#d8893d;
    font-size:12px;
    font-weight:900;
    letter-spacing:5px;
    text-transform:uppercase;
}

.home-outfit-band h2{
    margin-bottom:8px;
    font-size:clamp(26px,3vw,38px);
    line-height:1.08;
}

.home-outfit-band p{
    max-width:720px;
    color:#cfcfcf;
    line-height:1.65;
}

.home-outfit-band a{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:56px;
    padding:0 24px;
    border-radius:999px;
    background:#d8893d;
    color:#050505;
    font-weight:900;
}

.home-tour-section{
    padding:76px 8% 44px;
    background:#000;
}

.tour-grid-home{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:18px;
}

.tour-card-home{
    display:flex;
    flex-direction:column;
    min-height:100%;
    overflow:hidden;
    border-radius:24px;
    background:linear-gradient(180deg,#111,#080808);
    border:1px solid rgba(255,255,255,.09);
    color:#fff;
    box-shadow:0 22px 70px rgba(0,0,0,.24);
}

.tour-card-image{
    display:block;
    aspect-ratio:4/3;
    overflow:hidden;
    background:#111;
}

.tour-card-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:.25s ease;
}

.tour-card-home:hover .tour-card-image img{
    transform:scale(1.04);
}

.tour-card-copy{
    display:flex;
    flex-direction:column;
    gap:12px;
    min-height:300px;
    padding:20px;
}

.tour-card-copy > span{
    color:#d8893d;
    letter-spacing:3px;
    text-transform:uppercase;
    font-size:11px;
    font-weight:900;
}

.tour-card-copy h3{
    font-size:22px;
    line-height:1.15;
    min-height:52px;
}

.tour-card-copy p{
    color:#cfcfcf;
    line-height:1.55;
    font-size:14px;
    min-height:66px;
}

.tour-mini-list{
    display:grid;
    gap:8px;
    margin:2px 0 0;
    padding:0;
    list-style:none;
}

.tour-mini-list li{
    color:#d8d8d8;
    font-size:13px;
    line-height:1.4;
}

.tour-mini-list li:before{
    content:"";
    display:inline-block;
    width:6px;
    height:6px;
    margin-right:8px;
    border-radius:50%;
    background:#d8893d;
}

.tour-price-line{
    display:flex;
    flex-direction:column;
    gap:4px;
    margin-top:auto;
    padding:12px;
    border-radius:16px;
    background:#171717;
    border:1px solid rgba(255,255,255,.06);
}

.tour-price-line small{
    color:#9d9d9d;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:1.6px;
    font-size:10px;
}

.tour-price-line strong{
    color:#d8893d;
    font-size:21px;
}

.tour-card-home .buy-btn{
    display:flex;
    align-items:center;
    justify-content:center;
    height:50px;
    margin-top:4px;
    border-radius:16px;
    font-size:14px;
}

.ai-outfit-page{
    background:#000;
}

.outfit-main{
    width:min(88%,1240px);
    margin:0 auto;
    padding:160px 0 110px;
}

.outfit-hero{
    display:grid;
    grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);
    gap:34px;
    align-items:start;
}

.outfit-copy{
    position:sticky;
    top:132px;
    min-height:520px;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    padding:42px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:30px;
    background:
        linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.82)),
        url("../images/image.png") center center/cover;
    overflow:hidden;
}

.outfit-copy:before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,rgba(0,0,0,.7),rgba(0,0,0,.18));
    pointer-events:none;
}

.outfit-copy > *{
    position:relative;
    z-index:1;
}

.outfit-copy h1{
    max-width:680px;
    margin-bottom:18px;
    font-size:clamp(46px,5.6vw,78px);
    line-height:.96;
}

.outfit-copy p{
    max-width:620px;
    color:#e4e4e4;
    font-size:19px;
    line-height:1.7;
}

.outfit-proof{
    margin-top:26px;
    padding:18px;
    border:1px solid rgba(216,137,61,.34);
    border-radius:18px;
    background:rgba(0,0,0,.5);
}

.outfit-proof strong{
    display:block;
    color:#fff;
    margin-bottom:6px;
}

.outfit-proof small{
    color:#cfcfcf;
    line-height:1.55;
}

.outfit-form,
.outfit-result-card,
.outfit-suggestion-card,
.outfit-result-copy{
    border:1px solid rgba(255,255,255,.08);
    border-radius:28px;
    background:linear-gradient(180deg,#111,#080808);
    box-shadow:0 24px 80px rgba(0,0,0,.28);
}

.outfit-form{
    display:grid;
    gap:18px;
    padding:30px;
}

.outfit-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
}

.outfit-profile-grid{
    display:grid;
    grid-template-columns:1.2fr .9fr .9fr;
    gap:14px;
}

.outfit-form label{
    display:grid;
    gap:8px;
}

.outfit-form label > span{
    color:#dcdcdc;
    font-size:13px;
    font-weight:900;
}

.outfit-form input,
.outfit-form select,
.outfit-form textarea{
    width:100%;
    border:1px solid rgba(255,255,255,.1);
    border-radius:16px;
    background:#171717;
    color:#fff;
    padding:0 16px;
    font:inherit;
}

.outfit-form input,
.outfit-form select{
    min-height:56px;
}

.outfit-form textarea{
    min-height:112px;
    padding-top:15px;
    line-height:1.6;
    resize:vertical;
}

.outfit-limit-note{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:14px 16px;
    border:1px solid rgba(216,137,61,.32);
    border-radius:16px;
    background:rgba(216,137,61,.1);
}

.outfit-limit-note strong{
    color:#fff;
    font-size:14px;
    white-space:nowrap;
}

.outfit-limit-note small{
    color:#cfcfcf;
    line-height:1.45;
}

.outfit-upload{
    min-height:132px;
    align-items:center;
    justify-items:center;
    padding:26px;
    border:1px dashed rgba(216,137,61,.48);
    border-radius:22px;
    background:rgba(216,137,61,.08);
    text-align:center;
    cursor:pointer;
}

.outfit-upload input{
    position:absolute;
    width:1px;
    height:1px;
    opacity:0;
    pointer-events:none;
}

.outfit-upload strong{
    display:block;
    color:#fff;
    font-size:24px;
}

.outfit-upload small{
    color:#bdbdbd;
}

.outfit-form.is-service-off .outfit-upload,
.outfit-upload.is-disabled{
    opacity:.58;
    cursor:not-allowed;
}

.outfit-form.is-service-off .outfit-upload strong{
    color:#d8d8d8;
}

.outfit-consent{
    display:flex !important;
    grid-template-columns:auto 1fr;
    align-items:flex-start;
    gap:10px !important;
    color:#bdbdbd;
    font-size:13px;
    line-height:1.55;
}

.outfit-consent input{
    width:18px;
    min-width:18px;
    height:18px;
    margin-top:1px;
    accent-color:#d8893d;
}

.outfit-consent a{
    color:#d8893d;
    font-weight:900;
}

.outfit-submit{
    min-height:60px;
    border:0;
    border-radius:999px;
    background:#d8893d;
    color:#050505;
    font:inherit;
    font-weight:900;
    cursor:pointer;
}

.outfit-submit:disabled{
    background:#353535;
    color:#9b9b9b;
    cursor:not-allowed;
}

.outfit-processing[hidden]{
    display:none !important;
}

.outfit-processing{
    display:grid;
    gap:12px;
    padding:16px;
    border:1px solid rgba(216,137,61,.42);
    border-radius:18px;
    background:linear-gradient(135deg,rgba(216,137,61,.16),rgba(255,255,255,.04));
    box-shadow:0 16px 38px rgba(0,0,0,.24);
}

.outfit-processing-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
}

.outfit-processing-head span{
    display:inline-flex;
    align-items:center;
    min-height:28px;
    padding:0 12px;
    border-radius:999px;
    background:#d8893d;
    color:#050505;
    font-size:12px;
    font-weight:900;
    letter-spacing:0;
}

.outfit-processing-head strong{
    color:#fff;
    font-size:16px;
    text-align:right;
}

.outfit-progress-track{
    width:100%;
    height:10px;
    overflow:hidden;
    border-radius:999px;
    background:rgba(255,255,255,.1);
}

.outfit-progress-track span{
    display:block;
    width:8%;
    height:100%;
    border-radius:inherit;
    background:linear-gradient(90deg,#d8893d,#ffd087,#d8893d);
    box-shadow:0 0 22px rgba(216,137,61,.58);
    transition:width .55s ease;
    animation:outfitProgressGlow 1.3s ease-in-out infinite;
}

.outfit-processing small{
    color:#d8d8d8;
    line-height:1.45;
}

.outfit-form.is-processing .outfit-upload,
.outfit-form.is-processing .outfit-consent,
.outfit-form.is-processing label:not(.outfit-consent){
    pointer-events:none;
    opacity:.76;
}

.outfit-form.is-processing .outfit-submit{
    background:#242424;
    color:#fff;
}

@keyframes outfitProgressGlow{
    0%,100%{filter:brightness(1);}
    50%{filter:brightness(1.28);}
}

.outfit-trap{
    position:absolute !important;
    left:-9999px !important;
}

.outfit-message{
    padding:14px 16px;
    border-radius:16px;
    font-weight:800;
    line-height:1.45;
}

.outfit-message.is-success{
    background:rgba(46,204,113,.16);
    border:1px solid rgba(46,204,113,.32);
    color:#65e89b;
}

.outfit-message.is-error{
    background:rgba(180,45,45,.16);
    border:1px solid rgba(255,101,101,.28);
    color:#ffa0a0;
}

.outfit-message.is-warning{
    background:rgba(216,137,61,.15);
    border:1px solid rgba(216,137,61,.35);
    color:#f0b36f;
}

.outfit-result-panel{
    display:grid;
    grid-template-columns:minmax(0,.85fr) minmax(340px,.75fr) minmax(320px,.65fr);
    gap:22px;
    margin-top:28px;
}

.outfit-result-copy,
.outfit-suggestion-card{
    padding:28px;
}

.outfit-result-copy h2,
.outfit-suggestion-card h3{
    margin-bottom:14px;
    font-size:clamp(26px,3vw,36px);
    line-height:1.1;
}

.outfit-result-copy p{
    color:#cfcfcf;
    line-height:1.7;
}

.outfit-mini-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    margin-top:24px;
}

.outfit-mini-grid div{
    padding:14px;
    border-radius:16px;
    background:#171717;
}

.outfit-mini-grid strong{
    display:block;
    color:#d8893d;
    margin-bottom:8px;
}

.outfit-mini-grid small{
    color:#cfcfcf;
}

.outfit-result-card{
    min-height:380px;
    overflow:hidden;
    display:flex;
    flex-direction:column;
}

.outfit-result-card img{
    width:100%;
    height:100%;
    min-height:380px;
    object-fit:cover;
}

.outfit-brand-mark{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    margin:14px 14px 0;
    padding:12px 14px;
    border:1px solid rgba(255,255,255,.09);
    border-radius:16px;
    background:rgba(255,255,255,.04);
}

.outfit-brand-mark img{
    width:52px;
    height:32px;
    min-height:0;
    object-fit:contain;
    padding:5px 8px;
    border-radius:10px;
    background:#fff;
}

.outfit-brand-mark span{
    color:#d8893d;
    font-size:12px;
    font-weight:900;
    letter-spacing:2px;
    text-transform:uppercase;
}

.outfit-result-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    padding:14px;
}

.outfit-result-actions a{
    min-height:44px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    background:#d8893d;
    color:#050505;
    font-weight:900;
    text-align:center;
}

.outfit-result-actions a:nth-child(2){
    background:#202020;
    color:#fff;
}

.story-reward-card{
    display:grid;
    gap:14px;
    margin:0 14px 14px;
    padding:16px;
    border:1px solid rgba(216,137,61,.28);
    border-radius:18px;
    background:linear-gradient(135deg,rgba(216,137,61,.13),rgba(255,255,255,.035));
}

.story-reward-head span{
    display:block;
    margin-bottom:8px;
    color:#d8893d;
    font-size:11px;
    font-weight:900;
    letter-spacing:3px;
    text-transform:uppercase;
}

.story-reward-head h3{
    margin:0 0 8px;
    color:#fff;
    font-size:20px;
    line-height:1.2;
}

.story-reward-head p{
    margin:0;
    color:#cfcfcf;
    font-size:13px;
    line-height:1.5;
}

.story-reward-card label{
    display:grid;
    gap:7px;
}

.story-reward-card label > span{
    color:#dcdcdc;
    font-size:12px;
    font-weight:900;
}

.story-reward-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
}

.story-reward-card input[type="text"],
.story-reward-card input[type="email"]{
    width:100%;
    min-height:46px;
    border:1px solid rgba(255,255,255,.1);
    border-radius:13px;
    background:#171717;
    color:#fff;
    padding:0 13px;
    font:inherit;
    font-size:14px;
}

.story-reward-consent{
    display:flex !important;
    grid-template-columns:auto 1fr;
    align-items:flex-start;
    gap:9px !important;
    color:#cfcfcf;
    font-size:12px;
    line-height:1.45;
}

.story-reward-consent input{
    width:17px;
    min-width:17px;
    height:17px;
    margin-top:1px;
    accent-color:#d8893d;
}

.story-reward-button{
    min-height:48px;
    border:0;
    border-radius:999px;
    background:#d8893d;
    color:#050505;
    font:inherit;
    font-size:14px;
    font-weight:900;
    cursor:pointer;
}

.story-reward-button:disabled{
    background:#343434;
    color:#969696;
    cursor:wait;
}

.story-reward-status{
    padding:12px 13px;
    border-radius:14px;
    font-size:13px;
    font-weight:800;
    line-height:1.45;
}

.story-reward-status.is-info{
    background:rgba(216,137,61,.15);
    border:1px solid rgba(216,137,61,.28);
    color:#f0b36f;
}

.story-reward-status.is-success{
    background:rgba(46,204,113,.16);
    border:1px solid rgba(46,204,113,.32);
    color:#65e89b;
}

.story-reward-status.is-error{
    background:rgba(180,45,45,.18);
    border:1px solid rgba(255,101,101,.3);
    color:#ffa0a0;
}

.outfit-placeholder{
    flex:1;
    min-height:380px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:28px;
    text-align:center;
}

.outfit-placeholder strong{
    color:#fff;
    font-size:24px;
}

.outfit-placeholder small{
    color:#bdbdbd;
    line-height:1.55;
}

.outfit-suggestion-card ul{
    display:grid;
    gap:12px;
    margin-top:18px;
    padding:0;
    list-style:none;
}

.outfit-suggestion-card li{
    padding:15px;
    border-radius:16px;
    background:#171717;
    color:#dcdcdc;
    line-height:1.55;
}

html[data-theme="light"] .home-outfit-band,
html[data-theme="light"] .outfit-form,
html[data-theme="light"] .outfit-result-card,
html[data-theme="light"] .outfit-suggestion-card,
html[data-theme="light"] .outfit-result-copy{
    background:#fffaf3;
    border-color:rgba(65,45,22,.12);
    box-shadow:0 20px 58px rgba(42,28,10,.08);
}

html[data-theme="light"] .ai-outfit-page{
    background:#f7f2ea;
}

html[data-theme="light"] .outfit-copy{
    background:
        linear-gradient(180deg,rgba(247,242,234,.1),rgba(247,242,234,.78)),
        url("../images/image.png") center center/cover;
}

html[data-theme="light"] .outfit-copy:before{
    background:linear-gradient(90deg,rgba(247,242,234,.78),rgba(247,242,234,.2));
}

html[data-theme="light"] .home-outfit-band p,
html[data-theme="light"] .outfit-result-copy p,
html[data-theme="light"] .outfit-form label > span,
html[data-theme="light"] .outfit-proof small,
html[data-theme="light"] .outfit-upload small,
html[data-theme="light"] .outfit-consent,
html[data-theme="light"] .outfit-mini-grid small,
html[data-theme="light"] .outfit-placeholder small,
html[data-theme="light"] .outfit-suggestion-card li{
    color:#594d40;
}

html[data-theme="light"] .home-outfit-band a,
html[data-theme="light"] .outfit-submit,
html[data-theme="light"] .outfit-result-actions a{
    color:#050505;
}

html[data-theme="light"] .home-tour-section{
    background:#f7f2ea;
}

html[data-theme="light"] .tour-card-home{
    background:#fffaf3;
    border-color:rgba(65,45,22,.12);
    color:#17120d;
    box-shadow:0 22px 60px rgba(42,28,10,.08);
}

html[data-theme="light"] .tour-card-copy p,
html[data-theme="light"] .tour-mini-list li{
    color:#594d40;
}

html[data-theme="light"] .tour-price-line{
    background:#f1e5d4;
}

html[data-theme="light"] .tour-price-line small{
    color:#735b41;
}

html[data-theme="light"] .outfit-copy h1,
html[data-theme="light"] .outfit-copy p,
html[data-theme="light"] .outfit-proof strong,
html[data-theme="light"] .outfit-upload strong,
html[data-theme="light"] .outfit-placeholder strong{
    color:#17120d;
}

html[data-theme="light"] .outfit-form input,
html[data-theme="light"] .outfit-form select,
html[data-theme="light"] .outfit-form textarea,
html[data-theme="light"] .outfit-mini-grid div,
html[data-theme="light"] .outfit-suggestion-card li{
    background:#fff;
    border-color:rgba(65,45,22,.14);
    color:#17120d;
}

html[data-theme="light"] .outfit-proof,
html[data-theme="light"] .outfit-upload{
    background:rgba(255,250,243,.72);
    border-color:rgba(216,137,61,.32);
}

html[data-theme="light"] .outfit-limit-note,
html[data-theme="light"] .outfit-brand-mark,
html[data-theme="light"] .story-reward-card{
    background:#fff4df;
    border-color:rgba(216,137,61,.3);
}

html[data-theme="light"] .outfit-limit-note strong{
    color:#17120d;
}

html[data-theme="light"] .outfit-limit-note small{
    color:#594d40;
}

html[data-theme="light"] .story-reward-head h3,
html[data-theme="light"] .story-reward-card label > span{
    color:#17120d;
}

html[data-theme="light"] .story-reward-head p,
html[data-theme="light"] .story-reward-consent{
    color:#594d40;
}

html[data-theme="light"] .story-reward-card input[type="text"],
html[data-theme="light"] .story-reward-card input[type="email"]{
    background:#fff;
    border-color:rgba(65,45,22,.14);
    color:#17120d;
}

html[data-theme="light"] .outfit-submit:disabled{
    background:#efe2d0;
    color:#8e7d68;
}

html[data-theme="light"] .outfit-message.is-warning{
    background:#fff4df;
    border-color:rgba(216,137,61,.36);
    color:#9c5c16;
}

html[data-theme="light"] .outfit-processing{
    background:linear-gradient(135deg,#fff4df,#fffaf3);
    border-color:rgba(216,137,61,.38);
    box-shadow:0 16px 38px rgba(42,28,10,.08);
}

html[data-theme="light"] .outfit-processing-head strong{
    color:#17120d;
}

html[data-theme="light"] .outfit-processing small{
    color:#594d40;
}

html[data-theme="light"] .outfit-progress-track{
    background:#efe2d0;
}

@media(max-width:1100px){
    .tour-grid-home{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .home-outfit-band,
    .outfit-hero,
    .outfit-result-panel{
        grid-template-columns:1fr;
    }

    .home-outfit-band{
        display:block;
    }

    .home-outfit-band a{
        margin-top:18px;
    }

    .outfit-copy{
        position:relative;
        top:auto;
        min-height:440px;
    }
}

@media(max-width:720px){
    .home-tour-section{
        padding:58px 6% 34px;
    }

    .tour-grid-home{
        grid-template-columns:1fr;
    }

    .tour-card-copy{
        min-height:0;
    }

    .tour-card-copy h3,
    .tour-card-copy p{
        min-height:0;
    }

    .home-outfit-band{
        width:calc(100% - 12%);
        padding:22px;
        border-radius:22px;
    }

    .outfit-main{
        width:88%;
        padding:120px 0 74px;
    }

    .outfit-copy,
    .outfit-form,
    .outfit-result-copy,
    .outfit-suggestion-card{
        padding:22px;
        border-radius:22px;
    }

    .outfit-copy{
        min-height:420px;
    }

    .outfit-copy h1{
        font-size:42px;
    }

    .outfit-grid,
    .outfit-profile-grid,
    .outfit-mini-grid,
    .outfit-result-actions,
    .story-reward-grid{
        grid-template-columns:1fr;
    }

    .outfit-limit-note{
        align-items:flex-start;
        flex-direction:column;
    }

    .outfit-processing-head{
        align-items:flex-start;
        flex-direction:column;
    }

    .outfit-processing-head strong{
        text-align:left;
    }
}
