/* Gamma Site Kit — front-end styles. Tokens match the Gamma 1907 design. */
.gsk{
	--gsk-black:#0B0B0B;--gsk-panel:#121110;--gsk-panel2:#1C1A15;--gsk-gold:#D4AF5F;--gsk-gold-lt:#F1D58F;
	--gsk-ivory:#F4EFE3;--gsk-muted:#B9B2A3;--gsk-line:rgba(212,175,95,.22);
	--gsk-serif:'Playfair Display',Georgia,serif;--gsk-sans:Inter,system-ui,-apple-system,sans-serif;
	font-family:var(--gsk-sans);color:var(--gsk-ivory);box-sizing:border-box
}
.gsk *,.gsk *::before,.gsk *::after{box-sizing:border-box}
.gsk img{display:block;max-width:100%;height:auto}
.gsk ul,.gsk ol,ul.gsk,ol.gsk{list-style:none;margin:0;padding:0}
ul.gsk>li,ol.gsk>li{margin:0}
.gsk button{font:inherit}
.gsk :focus-visible{outline:2px solid var(--gsk-gold-lt);outline-offset:3px}
.gsk-gamma-tile{display:flex;align-items:center;justify-content:center;width:100%;height:100%;aspect-ratio:1;background:var(--gsk-panel2);color:var(--gsk-gold);font:500 clamp(48px,8vw,96px)/1 'Playfair Display',Georgia,serif}
.gsk-eyebrow{display:block;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--gsk-gold)}
.gsk-empty{color:var(--gsk-muted);font-style:italic}
.gsk .screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Self-contained dark panels so sections read correctly on light or dark page backgrounds. */
.gsk-lineage,.gsk-spot,.gsk-contact,.gsk-poems,.gsk-shop,.gsk-people,.gsk-jewels,.gsk-upcoming{background:var(--gsk-black);padding:clamp(14px,3vw,28px);border-radius:6px}
.gsk-poems,.gsk-shop{gap:18px}
.gsk-admin-note{border:1px dashed var(--gsk-gold);padding:10px 14px;color:var(--gsk-gold);border-radius:6px}

/* Buttons */
.gsk-btn{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:12px 26px;border-radius:999px;background:var(--gsk-gold);color:var(--gsk-black)!important;font:600 15px/1 var(--gsk-sans);text-decoration:none!important;transition:transform .2s ease,box-shadow .2s ease}
.gsk-btn:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(212,175,95,.3)}
.gsk-btn--ghost{background:transparent;color:var(--gsk-gold)!important;border:1.5px solid var(--gsk-gold);margin-top:16px}
.gsk-play{width:0;height:0;border-left:11px solid currentColor;border-top:7px solid transparent;border-bottom:7px solid transparent}
.gsk-icon-btn,.gsk-pill-btn{min-width:44px;min-height:44px;border-radius:999px;border:1.5px solid var(--gsk-gold);background:transparent;color:var(--gsk-ivory);cursor:pointer;font-size:20px;line-height:1}
.gsk-pill-btn{padding:0 20px;font-size:15px;font-weight:600}
.gsk-icon-btn:hover,.gsk-pill-btn:hover{background:rgba(212,175,95,.14)}
.gsk-filters{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}
.gsk-filters button{min-height:44px;padding:10px 18px;border-radius:999px;border:1px solid var(--gsk-line);background:transparent;color:var(--gsk-ivory);cursor:pointer;font-size:14px;font-weight:600;transition:all .25s ease}
.gsk-filters button[aria-pressed="true"]{background:var(--gsk-gold);border-color:var(--gsk-gold);color:var(--gsk-black)}

/* Logo + hero */
.gsk-logo{display:inline-block;width:var(--gsk-logo,56px);height:var(--gsk-logo,56px);border-radius:50%;overflow:hidden;animation:gskGlow 4s ease-in-out infinite}
.gsk-logo img,.gsk-logo .gsk-gamma-tile{width:100%;height:100%;object-fit:cover;font-size:calc(var(--gsk-logo,56px)*.55)}
@keyframes gskGlow{0%,100%{box-shadow:0 0 0 rgba(212,175,95,0)}50%{box-shadow:0 0 22px rgba(212,175,95,.55)}}
.gsk-hero{margin:0;max-width:520px}
.gsk-hero__frame{position:relative;display:block;aspect-ratio:4/5;overflow:hidden;border-radius:4px;box-shadow:inset 0 0 0 1px var(--gsk-gold),0 30px 80px rgba(0,0,0,.5)}
.gsk-hero__frame img{width:100%;height:100%;object-fit:cover;object-position:center 25%;animation:gskKen 18s ease-in-out infinite alternate}
@keyframes gskKen{from{transform:scale(1)}to{transform:scale(1.07)}}
.gsk-hero__sheen{position:absolute;inset:0;background:linear-gradient(115deg,transparent 40%,rgba(241,213,143,.18) 50%,transparent 60%);background-size:250% 100%;animation:gskSheen 6s ease-in-out infinite;pointer-events:none}
@keyframes gskSheen{from{background-position:120% 0}to{background-position:-120% 0}}
.gsk-hero figcaption{margin-top:14px;font-size:13px;letter-spacing:.06em;color:var(--gsk-muted)}
.gsk-archival{margin:0}
.gsk-archival img{width:100%;border-radius:4px;filter:sepia(.25) contrast(1.05)}

/* People */
.gsk-people{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:18px}
.gsk-person{background:var(--gsk-panel);border:1px solid var(--gsk-line);padding:12px;border-radius:4px}
.gsk-person__photo{display:block;aspect-ratio:1;overflow:hidden;border-radius:2px}
.gsk-person__photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(.2)}
.gsk-person__name{display:block;margin-top:10px;font-family:var(--gsk-serif);font-size:17px}
.gsk-jewels{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:18px}
.gsk-jewel{background:var(--gsk-panel);border:1px solid var(--gsk-line);padding:10px;border-radius:4px;cursor:default}
.gsk-jewel__photo{position:relative;display:block;aspect-ratio:1;overflow:hidden;border-radius:2px}
.gsk-jewel__photo img{width:100%;height:100%;object-fit:cover;object-position:center 30%;transition:transform .5s ease}
.gsk-jewel__bio{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;gap:6px;padding:14px;background:linear-gradient(to top,rgba(11,11,11,.96),rgba(11,11,11,.6));font-size:13px;line-height:1.45;opacity:0;transition:opacity .35s ease}
.gsk-jewel__bio em{font-family:var(--gsk-serif);color:var(--gsk-gold);font-size:15px}
.gsk-jewel:hover .gsk-jewel__bio,.gsk-jewel:focus .gsk-jewel__bio,.gsk-jewel:focus-within .gsk-jewel__bio{opacity:1}
.gsk-jewel:hover img{transform:scale(1.06)}
.gsk-jewel__label{display:block;margin-top:10px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gsk-gold)}
.gsk-jewel__name{display:block;font-family:var(--gsk-serif);font-size:17px}

/* Contact */
.gsk-contact{display:flex;flex-direction:column;gap:10px}
.gsk-contact a{color:var(--gsk-ivory);text-decoration:none;border-bottom:1px solid var(--gsk-line)}
.gsk-contact a:hover{color:var(--gsk-gold)}

/* Upcoming */
.gsk-upcoming{display:flex;flex-direction:column;gap:12px}
.gsk-upcoming li{display:flex;align-items:center;gap:16px;padding:14px 16px;background:var(--gsk-panel);border:1px solid var(--gsk-line);border-left:3px solid var(--gsk-kind);border-radius:4px}
.gsk-upcoming__date{display:flex;flex-direction:column;align-items:center;min-width:52px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gsk-gold)}
.gsk-upcoming__date b{font:500 30px/1 var(--gsk-serif);letter-spacing:0;color:var(--gsk-ivory)}
.gsk-upcoming__title{display:block;font-family:var(--gsk-serif);font-size:19px}
.gsk-upcoming__in{display:block;font-size:13px;color:var(--gsk-muted);margin-top:4px}

/* Calendar */
.gsk-cal{background:var(--gsk-black);border:1px solid var(--gsk-line);border-radius:6px;padding:clamp(16px,3vw,32px)}
.gsk-cal__next{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--gsk-line)}
.gsk-cal__next b{font:500 52px/1 var(--gsk-serif);color:var(--gsk-gold)}
.gsk-cal__next span{color:var(--gsk-muted)}
.gsk-cal__next strong{font-family:var(--gsk-serif);font-size:20px;font-weight:500;color:var(--gsk-ivory)}
.gsk-cal__head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.gsk-cal__title{margin:0;font:500 clamp(30px,4vw,44px)/1.1 var(--gsk-serif);color:var(--gsk-ivory)}
.gsk-cal__title i{color:var(--gsk-gold);font-size:.55em;font-style:italic;margin-left:10px}
.gsk-cal__nav{display:flex;gap:8px}
.gsk-cal__layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,320px);gap:24px}
.gsk-cal__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.gsk-cal__dow{padding:6px 0;text-align:center;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gsk-muted)}
.gsk-cal__day{position:relative;min-height:84px;padding:8px;border-radius:4px;border:1px solid transparent;background:var(--gsk-panel);color:var(--gsk-ivory);text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:4px;transition:border-color .2s ease}
.gsk-cal__day:hover{border-color:var(--gsk-line)}
.gsk-cal__day.is-out{opacity:.28;cursor:default}
.gsk-cal__day.is-today{border-color:var(--gsk-gold)}
.gsk-cal__day[aria-pressed="true"]{background:var(--gsk-panel2);border-color:var(--gsk-gold-lt)}
.gsk-cal__num{font-size:14px;font-weight:600}
.gsk-cal__evt{display:block;font-size:11px;line-height:1.3;color:var(--gsk-kind);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gsk-cal__dots{display:flex;gap:3px;margin-top:auto}
.gsk-cal__dots i{width:7px;height:7px;border-radius:50%;background:var(--gsk-kind)}
.gsk-cal__panel{background:var(--gsk-panel);border:1px solid var(--gsk-line);border-radius:4px;padding:18px;align-self:start}
.gsk-cal__panel h4{margin:0 0 12px;font:500 20px/1.2 var(--gsk-serif);color:var(--gsk-ivory)}
.gsk-cal__item{padding:12px 0 12px 14px;border-left:3px solid var(--gsk-kind);margin-bottom:12px}
.gsk-cal__item small{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gsk-kind)}
.gsk-cal__item strong{display:block;font-family:var(--gsk-serif);font-size:18px;font-weight:500;margin:4px 0}
.gsk-cal__item p{margin:4px 0;font-size:14px;line-height:1.5;color:#CFC8B8}
.gsk-cal__item a{display:inline-flex;align-items:center;min-height:40px;margin-top:6px;padding:8px 16px;border-radius:999px;border:1.5px solid var(--gsk-gold);color:var(--gsk-gold);text-decoration:none;font-size:14px;font-weight:600}
.gsk-cal__item a:hover{background:var(--gsk-gold);color:var(--gsk-black)}
.gsk-cal__legend{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:18px!important;font-size:13px;color:var(--gsk-muted)}
.gsk-cal__legend li::before{content:"";display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--gsk-kind);margin-right:7px}

/* Spotlights */
.gsk-spot__carousel{position:relative;background:var(--gsk-panel);border:1px solid var(--gsk-line);border-radius:6px;overflow:hidden;margin-bottom:12px}
.gsk-spot__slide{display:none;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:0}
.gsk-spot__slide.is-on{display:grid;animation:gskFade .6s ease both}
@keyframes gskFade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.gsk-spot__slide .gsk-spot__photo{aspect-ratio:4/5}
.gsk-spot__photo{display:block;overflow:hidden;background:var(--gsk-panel2)}
.gsk-spot__photo img{width:100%;height:100%;object-fit:cover;object-position:center 25%}
.gsk-spot__text{padding:clamp(22px,4vw,48px);display:flex;flex-direction:column;justify-content:center;gap:10px}
.gsk-spot__text h3{margin:0;font:500 clamp(30px,4vw,48px)/1.08 var(--gsk-serif);color:var(--gsk-ivory)}
.gsk-spot__role{color:var(--gsk-muted);margin:0;font-size:15px}
.gsk-spot__text blockquote{margin:12px 0 0;padding-left:16px;border-left:2px solid var(--gsk-gold);font:italic 19px/1.5 var(--gsk-serif);color:var(--gsk-ivory)}
.gsk-spot__dots{position:absolute;right:20px;bottom:16px;display:flex;gap:6px}
.gsk-spot__dots button{width:14px;height:4px;padding:0;border:0;border-radius:2px;background:rgba(244,239,227,.35);cursor:pointer;transition:all .3s ease;position:relative}
.gsk-spot__dots button::after{content:"";position:absolute;inset:-20px -6px}
.gsk-spot__dots button[aria-pressed="true"]{width:36px;background:var(--gsk-gold)}
.gsk-spot__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}
.gsk-spot__card{background:var(--gsk-panel);border:1px solid var(--gsk-line);border-radius:4px;overflow:hidden}
.gsk-spot__card[hidden]{display:none}
.gsk-spot__card summary{list-style:none;cursor:pointer;display:flex;flex-direction:column;gap:4px;padding:0 0 18px}
.gsk-spot__card summary::-webkit-details-marker{display:none}
.gsk-spot__card .gsk-spot__photo{aspect-ratio:1;margin-bottom:12px}
.gsk-spot__card .gsk-eyebrow,.gsk-spot__card .gsk-spot__name,.gsk-spot__card .gsk-spot__role,.gsk-more{padding:0 18px}
.gsk-spot__name{font:500 22px/1.2 var(--gsk-serif)}
.gsk-more{margin-top:6px;font-size:14px;font-weight:600;color:var(--gsk-gold)}
.gsk-spot__card[open] .gsk-more{display:none}
.gsk-spot__story{padding:0 18px 18px;font-size:15px;line-height:1.65;color:#CFC8B8}

/* Lineage */
.gsk-lineage__stats{color:var(--gsk-muted);margin:0 0 14px}
.gsk-lineage__stats b{color:var(--gsk-gold);font:500 22px var(--gsk-serif)}
.gsk-search input{width:100%;min-height:52px;padding:12px 18px;border-radius:999px;border:1px solid var(--gsk-line);background:var(--gsk-panel);color:var(--gsk-ivory);font:16px var(--gsk-sans)}
.gsk-search input::placeholder{color:#8F8878}
.gsk-lineage__list{display:flex;flex-direction:column;border-top:1px solid var(--gsk-line)}
.gsk-line{border-bottom:1px solid var(--gsk-line)}
.gsk-line[hidden]{display:none}
.gsk-line summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:16px;align-items:center;padding:16px 4px;min-height:56px}
.gsk-line summary::-webkit-details-marker{display:none}
.gsk-line summary:hover .gsk-line__name{color:var(--gsk-gold)}
.gsk-line__term{display:flex;flex-direction:column;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gsk-muted)}
.gsk-line__term b{font:500 24px/1.1 var(--gsk-serif);letter-spacing:0;color:var(--gsk-ivory)}
.gsk-line__name{font:500 19px/1.3 var(--gsk-serif);transition:color .2s ease}
.gsk-line__name small{display:block;font:13px/1.4 var(--gsk-sans);color:var(--gsk-muted);margin-top:2px}
.gsk-line__count{font-size:13px;font-weight:600;color:var(--gsk-gold);white-space:nowrap}
.gsk-line__bros{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px 18px;padding:4px 4px 20px 130px!important}
.gsk-line__bros li{font-size:15px}
.gsk-line__bros span{display:inline-block;min-width:34px;color:var(--gsk-gold);font-weight:600}

/* Poems */
.gsk-poems{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,460px),1fr));gap:18px;align-items:start}
.gsk-poem{background:var(--gsk-panel);border:1px solid var(--gsk-line);border-radius:4px;box-shadow:inset 0 0 0 6px var(--gsk-panel),inset 0 0 0 7px rgba(212,175,95,.18)}
.gsk-poem summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:56px minmax(0,1fr) 40px;gap:12px;align-items:center;padding:22px 22px}
.gsk-poem summary::-webkit-details-marker{display:none}
.gsk-poem__num{font:italic 500 26px/1 var(--gsk-serif);color:var(--gsk-gold)}
.gsk-poem__title{font:500 clamp(21px,2.4vw,28px)/1.15 var(--gsk-serif)}
.gsk-poem__title small{display:block;font:13px/1.4 var(--gsk-sans);color:var(--gsk-muted);margin-top:6px}
.gsk-poem__icon{width:40px;height:40px;border-radius:50%;border:1px solid var(--gsk-gold);display:flex;align-items:center;justify-content:center;color:var(--gsk-gold);font-size:22px;transition:transform .3s ease}
.gsk-poem[open] .gsk-poem__icon{transform:rotate(45deg)}
.gsk-poem__body{padding:0 28px 28px 90px;font:18px/1.75 var(--gsk-serif);color:var(--gsk-ivory)}
.gsk-poem__body p{margin:0 0 1.1em}
.gsk-poem__body p:first-of-type::first-letter{float:left;font-size:58px;line-height:.8;padding:8px 10px 0 0;color:var(--gsk-gold)}

/* Shop */
.gsk-shop{display:flex;flex-direction:column;gap:28px}
.gsk-product{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--gsk-panel);border:1px solid var(--gsk-line);border-radius:6px;overflow:hidden}
.gsk-product__media{position:relative;min-height:360px;background:var(--gsk-panel2);perspective:1400px}
.gsk-product__face{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;transition:opacity .6s ease,transform .8s ease;backface-visibility:hidden}
.gsk-product__face img{width:100%;height:100%;object-fit:contain;padding:18px}
.gsk-product__face .gsk-gamma-tile{aspect-ratio:auto}
.gsk-product__face.is-back{opacity:0;transform:rotateY(180deg)}
.gsk-product__media.show-back .is-front{opacity:0;transform:rotateY(-180deg)}
.gsk-product__media.show-back .is-back{opacity:1;transform:none}
.gsk-product__toggle{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);display:flex;gap:4px;padding:4px;border-radius:999px;background:rgba(11,11,11,.8);border:1px solid var(--gsk-line)}
.gsk-product__toggle button{min-height:40px;padding:0 18px;border-radius:999px;border:0;background:transparent;color:var(--gsk-ivory);font-weight:600;cursor:pointer}
.gsk-product__toggle button[aria-pressed="true"]{background:var(--gsk-gold);color:var(--gsk-black)}
.gsk-product__info{padding:clamp(22px,4vw,44px);display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.gsk-product__info h3{margin:0;font:500 clamp(28px,3.4vw,40px)/1.1 var(--gsk-serif);color:var(--gsk-ivory)}
.gsk-badge{display:inline-block;padding:6px 12px;border-radius:999px;background:rgba(212,175,95,.15);color:var(--gsk-gold);font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.gsk-product__credit{margin:0;color:var(--gsk-gold);font-style:italic;font-family:var(--gsk-serif)}
.gsk-product__price{margin:0;font-size:20px;font-weight:600}
.gsk-product__desc{color:#CFC8B8;font-size:15px;line-height:1.65}
.gsk-product__desc p{margin:0 0 .8em}
.gsk-countdown{margin:4px 0;padding:10px 16px;border:1px solid var(--gsk-gold);border-radius:4px;font-size:14px}
.gsk-countdown b{color:var(--gsk-gold)}
.gsk-countdown.is-closed{border-color:var(--gsk-line);color:var(--gsk-muted)}
.gsk-product__note{margin:0;font-size:13px;color:var(--gsk-muted)}
.gsk-product__info .gsk-btn{margin-top:10px}

/* Phones */
@media (max-width:760px){
	.gsk-cal__layout{grid-template-columns:1fr}
	.gsk-cal__day{min-height:52px;padding:6px 4px;align-items:center}
	.gsk-cal__evt{display:none}
	.gsk-cal__dots{margin-top:2px}
	.gsk-cal__dow{font-size:10px;letter-spacing:.06em}
	.gsk-cal__next b{font-size:40px}
	.gsk-spot__slide.is-on{grid-template-columns:1fr}
	.gsk-spot__slide .gsk-spot__photo{aspect-ratio:1}
	.gsk-spot__dots{position:static;justify-content:center;padding:0 0 18px}
	.gsk-line summary{grid-template-columns:72px minmax(0,1fr);gap:12px}
	.gsk-line__count{grid-column:2;font-size:12px}
	.gsk-line__bros{padding:4px 4px 18px 4px!important;grid-template-columns:1fr 1fr}
	.gsk-poem summary{grid-template-columns:38px minmax(0,1fr) 36px;padding:18px 16px}
	.gsk-poem__icon{width:36px;height:36px}
	.gsk-poem__body{padding:0 18px 22px;font-size:17px}
	.gsk-product{grid-template-columns:1fr}
	.gsk-product__media{min-height:320px}
	.gsk-people,.gsk-jewels{grid-template-columns:repeat(2,minmax(0,1fr))}
	.gsk-jewel__bio{font-size:12px;padding:10px}
}
@media (prefers-reduced-motion:reduce){.gsk *,.gsk{animation:none!important;transition:none!important}}
