*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:#0b0b0b;color:#eeeae2;font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.65}::selection{background:#c6a56b;color:#0b0b0b}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid #e8c988;outline-offset:7px}img{display:block;max-width:100%}.wrap{width:min(1320px,88%);margin-inline:auto}.header{height:112px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #30302b;gap:30px}.brand{display:flex;align-items:center;gap:13px;line-height:1.25;letter-spacing:.18em;font-size:12px}.brand b{font-weight:500;letter-spacing:.37em}.brand-initials{font-family:'Italiana',serif;font-size:42px;letter-spacing:-.12em;padding-right:9px;color:#c6a56b}.header nav{display:flex;gap:36px;font-size:14px;color:#c5c3bb}.header a:hover,.text-link:hover,.socials a:hover{color:#e4c589}.nav-contact{font-size:14px;border-bottom:1px solid #c6a56b;padding:8px 0}.nav-contact span{margin-left:30px}.hero{padding-top:44px}.hero-top{display:flex;justify-content:space-between;align-items:start}.eyebrow,.section-label,.edition,.scroll-link{font-size:12px;letter-spacing:.14em;font-weight:500}.eyebrow{color:#c6a56b}.edition{text-align:right;letter-spacing:.03em;color:#b5b2a9;margin-top:7px}.hero h1{font-family:'Parisienne',cursive;font-weight:400;color:#c6a56b;font-size:clamp(96px,14.6vw,208px);line-height:1.02;letter-spacing:0;margin:26px 0 34px}.hero h1>span{display:block;text-align:right;padding-right:5.5%}.period{color:#ede8dd}.hero-bottom{display:grid;grid-template-columns:1fr 1fr .52fr;gap:48px;align-items:end;padding-bottom:54px}.hero-bottom>p{font-size:21px;line-height:1.5;margin:0}.hero-intro{color:#b5b2a9;max-width:350px;margin:0 0 25px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:45px;padding:15px 24px;font-size:14px;font-weight:600;border:1px solid transparent;transition:background .2s,transform .2s}.button:hover{transform:translateY(-3px)}.gold{background:#c6a56b;color:#111}.gold:hover{background:#dfbe83}.scroll-link{justify-self:end;color:#8e8b83;display:flex;gap:25px;align-items:center;writing-mode:vertical-rl;font-size:11px}.scroll-link>span:last-child{font-size:28px;writing-mode:horizontal-tb;color:#c6a56b}.hero-line{height:1px;background:#444035}.section{padding-block:95px}.section-label{display:flex;justify-content:space-between;color:#b8a078;margin-bottom:50px}.section-label>span:last-child{color:#8f8d85;font-size:11px}.about-grid,.impact-grid,.connect-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:90px}h2{font-family:'Italiana',serif;font-weight:400;line-height:1.14;letter-spacing:-.025em;font-size:clamp(40px,4.3vw,64px);margin:0}h2 em,h3 em{font-style:normal;color:#c6a56b}.about-copy p{color:#aaa79e;margin:0 0 25px}.about-copy .large,.large{font-size:23px;line-height:1.5;color:#e9e5dc}.text-link{font-size:14px;display:inline-flex;gap:35px;border-bottom:1px solid #6b5b3f;padding-bottom:8px;margin-top:10px}.ventures{background:#131412}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:42px}.section-heading p{color:#aaa79e;font-size:14px;margin:0}.feature{display:grid;grid-template-columns:1.18fr 1fr;border:1px solid #3c3a32;min-height:470px}.feature-image{position:relative;overflow:hidden;background:#25221b}.feature-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.55);transition:transform .6s}.feature:hover img{transform:scale(1.035)}.image-caption{position:absolute;left:28px;bottom:25px;background:#0b0b0be0;padding:9px 15px;font-size:11px;letter-spacing:.16em}.feature-copy{padding:45px 50px}.feature-copy h3{font:400 65px/1.04 'Italiana',serif;letter-spacing:-.035em;margin:28px 0}.feature-copy p{max-width:365px;font-size:15px;color:#aaa79e}.venture-list{margin-top:40px}.venture-row{display:grid;grid-template-columns:45px 1.25fr 1fr 40px;align-items:center;gap:25px;padding:35px 0;border-bottom:1px solid #3c3a32;transition:background .2s}.venture-row:hover{background:#1e1f1a}.row-number{font-size:12px;color:#837d70}.venture-row .eyebrow{font-size:10px;letter-spacing:.15em}.venture-row h3{font-family:'Italiana',serif;font-size:30px;font-weight:400;line-height:1.2;margin:9px 0 0}.venture-row p{font-size:14px;color:#aaa79e;max-width:300px}.row-arrow{font-size:28px;color:#c6a56b;justify-self:end}.more-ventures{margin-top:50px}.more-ventures>div{display:grid;grid-template-columns:1fr 1fr;gap:0 60px}.more-ventures a{padding:18px 0;display:flex;justify-content:space-between;border-bottom:1px solid #33342e;font-size:14px}.more-ventures a:hover{color:#c6a56b}.impact{background:#c6a56b;color:#161711}.impact .section-label,.impact .section-label>span:last-child,.impact .eyebrow{color:#47402f}.impact h2{font-size:clamp(45px,5.4vw,78px)}.impact h2 em{color:#fff5da}.impact-grid>div{max-width:400px;padding-top:8px}.impact .large{color:#161711;font-size:33px;line-height:1.3;margin:24px 0}.impact p{color:#393628}.dark{background:#131412;color:#f0e8d8;margin-top:18px}.dark:hover{background:#303026}.connect h2{font-size:clamp(48px,5.2vw,74px)}.connect-grid>div{align-self:center}.connect-grid p{max-width:360px;color:#aaa79e}.email{display:flex;gap:20px;align-items:center;justify-content:space-between;border-bottom:1px solid #786441;font-size:clamp(16px,1.65vw,23px);padding:15px 0;overflow-wrap:anywhere}.email:hover{color:#c6a56b}.socials{display:flex;gap:30px;margin-top:30px;font-size:14px;color:#b6b0a2}footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #30302b;padding-block:30px;gap:25px;color:#8f8d85;font-size:12px}.footer-name{font-family:'Parisienne',cursive;color:#c6a56b;font-size:31px;line-height:1.25}footer p{margin:0}.skip{position:absolute;top:-70px;left:20px;background:#c6a56b;color:#000;padding:10px;z-index:5}.skip:focus{top:10px}@media(min-width:1500px){.hero h1{font-size:208px}}@media(max-width:900px){.header nav{gap:20px}.hero h1{font-size:16.4vw}.hero-bottom{grid-template-columns:1fr 1fr;gap:30px}.scroll-link{display:none}.about-grid,.impact-grid,.connect-grid{gap:40px}.feature-copy{padding:32px}.feature-copy h3{font-size:52px}.venture-row{grid-template-columns:30px 1.2fr 1fr 25px;gap:17px}.venture-row h3{font-size:26px}.section{padding-block:70px}.section-label>span:last-child{display:none}}@media(max-width:600px){.wrap{width:88%}.header{height:90px;gap:15px}.header nav{display:none}.brand{font-size:10px}.nav-contact{font-size:12px}.nav-contact span{margin-left:12px}.hero{padding-top:28px}.hero-top .eyebrow{font-size:9px;letter-spacing:.12em}.edition{display:none}.hero h1{font-size:19vw;line-height:1.06;margin:30px 0}.hero h1>span{padding-right:0}.hero-bottom{grid-template-columns:1fr;gap:22px;padding-bottom:40px}.hero-bottom>p{font-size:20px}.hero-intro{font-size:15px;max-width:100%}.button{width:100%;padding:15px 20px}.section{padding-block:56px}.section-label{font-size:10px;margin-bottom:28px}.about-grid,.impact-grid,.connect-grid{grid-template-columns:1fr;gap:28px}h2{font-size:42px}.about-copy .large{font-size:20px}.section-heading{display:block}.section-heading p{margin-top:20px}.feature{grid-template-columns:1fr}.feature-image{height:270px}.feature-copy{padding:30px}.feature-copy h3{font-size:56px;margin:22px 0}.venture-row{grid-template-columns:25px 1fr 25px;gap:10px;padding:26px 0}.venture-row p{grid-column:2;grid-row:2;margin:0}.row-arrow{grid-column:3;grid-row:1}.venture-row h3{font-size:27px}.more-ventures>div{grid-template-columns:1fr}.impact h2,.connect h2{font-size:49px}.impact-grid>div{max-width:100%}.impact .large{font-size:29px}.email{font-size:17px}footer{flex-wrap:wrap;font-size:11px;gap:15px}.footer-name{width:100%}.text-link{font-size:13px;gap:14px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.brand-mark{width:60px;height:60px;display:block;overflow:hidden;flex-shrink:0}.brand-mark img{width:138px;max-width:none;height:138px;transform:translate(-39px,-39px)}.feature-copy p,.venture-row p,.hero-intro,.more-ventures a{font-size:16px}.header nav,.nav-contact,.text-link,.socials,.button{font-size:14px}@media(max-width:600px){.brand-mark{width:44px;height:44px}.brand-mark img{width:102px;height:102px;transform:translate(-29px,-29px)}.brand{gap:8px}.nav-contact{font-size:13px}.hero-intro{font-size:16px}}

.builder-credit{display:flex;align-items:center;gap:10px;font-size:12px;color:#bbb5a8;white-space:nowrap}.builder-credit img{width:44px;height:44px;flex-shrink:0;border-radius:50%}.builder-credit strong{font-weight:500;color:#c6a56b}.builder-credit:hover strong{color:#e4c589}@media(max-width:900px){footer{flex-wrap:wrap}.builder-credit{margin-left:auto}}@media(max-width:600px){.builder-credit{width:100%;margin-left:0;margin-top:8px}}

.socials{flex-wrap:wrap;gap:16px 28px}.socials a{display:inline-flex;align-items:center;gap:10px;min-height:44px}.socials img{width:22px;height:22px;flex-shrink:0}.socials a>span:last-child{font-size:13px;margin-left:2px}

/* Match the builder emblem to LaTarsha’s black-and-gold palette. */
.builder-credit img{filter:grayscale(1) sepia(1) saturate(1.15) hue-rotate(355deg) brightness(.95)}


/* ---- Store page ------------------------------------------------------- */
.store-intro{max-width:54ch;margin-bottom:52px}
.store-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:44px 34px}
.product{display:flex;flex-direction:column;border:1px solid #30302b;background:#0f0f0e}
.product-image{aspect-ratio:4/5;background:#141412;display:grid;place-items:center;overflow:hidden;position:relative}
.product-image img{width:100%;height:100%;object-fit:cover;display:block}
.product-image .ph{width:46%;opacity:.16;filter:grayscale(1)}
.product-image .ph-label{position:absolute;bottom:14px;left:0;right:0;text-align:center;font-size:10px;letter-spacing:.18em;color:#6f6b61}
.product-body{padding:24px 22px 26px;display:flex;flex-direction:column;gap:11px;flex:1}
.product h3{font-family:'Italiana',serif;font-weight:400;color:#ede8dd;font-size:26px;line-height:1.12;margin:0}
.product p{margin:0;font-size:15px;color:#aaa79e;line-height:1.6}
.price{color:#c6a56b;font-size:15px;font-weight:600;letter-spacing:.02em}
.product .button{margin-top:auto;width:100%;gap:18px}
.store-note{margin-top:58px;border-top:1px solid #30302b;padding-top:26px;font-size:13px;color:#8f8d85;max-width:62ch}
@media(max-width:900px){.store-grid{grid-template-columns:repeat(2,1fr);gap:34px 24px}}
@media(max-width:600px){.store-grid{grid-template-columns:1fr}.product h3{font-size:24px}}

.about-photo{width:100%;max-width:420px;height:auto;display:block;margin:34px 0 8px;border:1px solid #30302b}

/* ---- Events page ------------------------------------------------------ */
.event-list{border-top:1px solid #30302b}
.event-row{display:grid;grid-template-columns:210px 1fr auto;gap:28px;align-items:start;padding:30px 0;border-bottom:1px solid #26261f}
.event-date{display:flex;flex-direction:column;gap:5px}
.event-when{font-family:'Italiana',serif;font-size:22px;color:#c6a56b;line-height:1.15}
.event-time{font-size:12px;letter-spacing:.12em;color:#8f8d85}
.event-main h3{font-family:'Italiana',serif;font-weight:400;color:#ede8dd;font-size:27px;line-height:1.14;margin:0 0 7px}
.event-main .eyebrow{display:block;color:#b8a078;margin-bottom:10px}
.event-main p{margin:0;font-size:15px;color:#aaa79e;line-height:1.65;max-width:56ch}
.event-action{padding-top:4px}
.event-action .button{white-space:nowrap;gap:18px}
@media(max-width:900px){
  .event-row{grid-template-columns:1fr;gap:14px;padding:26px 0}
  .event-date{flex-direction:row;align-items:baseline;gap:14px}
  .event-action{padding-top:4px}
  .event-action .button{width:100%}
}

/* ---- Header navigation and the mobile menu ---------------------------- */
/* The nav used to be hidden outright below 600px with nothing to replace it.
   That was survivable when this was one page of anchors; with Events and the
   Store as real pages it left them unreachable on a phone. */
.header{position:relative}
.nav-signin{color:#6f6b61}
.nav-signin:hover,.nav-signin:focus-visible{color:#c6a56b}
.nav-contact-mobile{display:none}
.nav-toggle{display:none;align-items:center;gap:10px;background:none;border:0;padding:10px 0;margin:0;
 color:#c5c3bb;font:inherit;font-size:13px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.nav-toggle:hover,.nav-toggle:focus-visible{color:#c6a56b}
.nav-toggle-bars{position:relative;display:block;width:22px;height:2px;background:currentColor}
.nav-toggle-bars::before,.nav-toggle-bars::after{content:"";position:absolute;left:0;width:22px;height:2px;background:currentColor}
.nav-toggle-bars::before{top:-7px}
.nav-toggle-bars::after{top:7px}
.nav-toggle[aria-expanded="true"] .nav-toggle-bars{background:transparent}
.nav-toggle[aria-expanded="true"] .nav-toggle-bars::before{top:0;transform:rotate(45deg)}
.nav-toggle[aria-expanded="true"] .nav-toggle-bars::after{top:0;transform:rotate(-45deg)}

@media(max-width:1080px){
  .header nav{display:none;position:absolute;top:100%;left:0;right:0;z-index:60;
   flex-direction:column;gap:0;background:#0f0f0e;border:1px solid #30302b;border-top:0;
   padding:6px 20px 14px}
  .header nav.open{display:flex}
  .header nav a{padding:15px 2px;border-bottom:1px solid #26261f;font-size:15px}
  .header nav a:last-child{border-bottom:0}
  .nav-toggle{display:inline-flex}
  .nav-contact{display:none}
  .nav-contact-mobile{display:block;border-bottom:0;color:#c6a56b}
  .nav-signin{margin-top:2px}
}
@media(max-width:600px){
  .header nav{display:none}
  .header nav.open{display:flex}
}
@media(prefers-reduced-motion:reduce){.nav-toggle-bars,.nav-toggle-bars::before,.nav-toggle-bars::after{transition:none}}


/* ======================================================================
   Round 4 — the pink accent, the gallery, the booking page.
   The pink is the hot pink of the breast cancer ribbon. It is an accent
   only: the site stays black and gold, and gold remains the link colour.
   ====================================================================== */

/* h2 em already claims gold at (0,0,1,2), so .pink has to match it to win. */
.pink,h2 em.pink,h3.pink,.impact h2 em.pink{color:#ff69b4}

/* The tagline strip carries seven credits now and no longer fits one line
   beside the edition note. Cap it and let it wrap instead of overflowing. */
.hero-top{gap:40px}
.hero-top .eyebrow{max-width:60%;line-height:1.9}
@media(max-width:600px){.hero-top .eyebrow{max-width:100%;line-height:1.85}}

/* Seven menu items crowd the inline bar between 1080 and 1320px. */
@media(max-width:1320px){.header nav{gap:26px}}

.page-outro{margin-top:70px;border-top:1px solid #30302b;padding-top:28px;
 color:#8f8d85;font-size:15px}
.page-outro .text-link{margin-left:6px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---- The speaking band on the home page -------------------------------- */
.speaking-grid{display:grid;grid-template-columns:.72fr 1fr;gap:70px;align-items:center}
.speaking-art img{width:100%;height:auto;border:1px solid #30302b}
.speaking-grid p{color:#aaa79e;margin:0 0 25px}
.speaking-grid .large{margin-bottom:22px}
.speaking-grid .button{margin-top:6px}
@media(max-width:900px){.speaking-grid{grid-template-columns:1fr;gap:36px}
 .speaking-art{max-width:420px}}

/* ---- Booking page ------------------------------------------------------ */
.booking-top{display:grid;grid-template-columns:.8fr 1fr;gap:70px;align-items:start}
.booking-art{margin:0}
.booking-art img{width:100%;height:auto;border:1px solid #30302b}
.booking-art figcaption{margin-top:4px}
.booking-lede h2{margin-bottom:24px}
.booking-lede p{color:#aaa79e;margin:0 0 24px}
.booking-lede .large{margin-bottom:26px}
.booking-lede .eyebrow{letter-spacing:.18em}
.booking-sub{font-family:'Italiana',serif;font-weight:400;font-size:26px;
 letter-spacing:.04em;margin:34px 0 14px}
.booking-list{list-style:none;margin:0;padding:0;display:grid;
 grid-template-columns:1fr 1fr;gap:0 28px;border-left:2px solid #ff69b4;padding-left:22px}
.booking-list li{padding:7px 0;font-size:14px;letter-spacing:.09em;
 text-transform:uppercase;color:#d8d3c8}
.booking-contact{margin-top:34px;display:flex;flex-direction:column}
.booking-contact a{border-bottom:1px solid #30302b;padding:15px 2px;font-size:16px;
 overflow-wrap:anywhere}
.booking-contact a:first-child{border-top:1px solid #30302b}
.booking-contact a:hover{color:#ff69b4}

.booking-form-wrap{margin-top:96px;border-top:1px solid #30302b;padding-top:70px;scroll-margin-top:40px}
.booking-form{max-width:860px;margin-top:10px}
.booking-form p{margin:0 0 20px}
.booking-form label{display:block;font-size:11px;letter-spacing:.14em;
 text-transform:uppercase;color:#b8a078;margin-bottom:9px}
.booking-form .req{color:#ff69b4}
.booking-form input,.booking-form select,.booking-form textarea{
 width:100%;background:#131412;border:1px solid #3c3a32;color:#eeeae2;
 padding:14px 15px;font:inherit;font-size:16px;border-radius:2px}
.booking-form textarea{resize:vertical;line-height:1.6;min-height:170px}
.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{
 outline:2px solid #ff69b4;outline-offset:-1px;border-color:transparent}
.booking-form input::placeholder,.booking-form textarea::placeholder{color:#6d6a62}
.booking-form .button{margin-top:10px;width:auto;min-width:280px}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:0 26px}
.form-note{margin-top:22px!important;font-size:13px;color:#8f8d85}
/* Off-screen rather than display:none, because a bot that reads CSS skips
   hidden fields but happily fills one that is merely parked off-canvas. */
.hp{position:absolute;left:-9999px;top:-9999px;width:1px;height:1px;overflow:hidden}
.form-errors{border:1px solid #6b4646;background:#1a1211;padding:18px 22px;
 margin-bottom:32px;color:#e8b4b4}
.form-errors p{margin:0 0 8px}
.form-errors ul{margin:0;padding-left:20px;font-size:15px}
.booking-sent{border:1px solid #3c3a32;padding:52px 46px;max-width:720px}
.booking-sent h2{margin-bottom:18px}
.booking-sent p{color:#aaa79e;margin:0 0 20px}
.booking-sent .button{margin-top:12px}
@media(max-width:900px){
 .booking-top{grid-template-columns:1fr;gap:40px}
 .booking-art{max-width:460px}
 .booking-form-wrap{margin-top:62px;padding-top:52px}
 .f2{grid-template-columns:1fr;gap:0}
 .booking-list{grid-template-columns:1fr}
 .booking-sent{padding:36px 26px}
 .booking-form .button{width:100%;min-width:0}
}

/* ---- Gallery page ------------------------------------------------------ */
.gallery-filter{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 38px}
.chip{background:none;border:1px solid #3c3a32;color:#b6b0a2;font:inherit;
 font-size:13px;letter-spacing:.06em;padding:9px 17px;cursor:pointer;
 border-radius:100px;transition:border-color .2s,color .2s}
.chip:hover{color:#ff69b4;border-color:#7a3b58}
.chip.on{background:#ff69b4;border-color:#ff69b4;color:#141414;font-weight:600}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:44px 30px}
.tile{margin:0;display:flex;flex-direction:column}
.tile-media{position:relative;aspect-ratio:4/3;overflow:hidden;background:#141412;
 border:1px solid #30302b}
.tile.is-video .tile-media{aspect-ratio:16/9}
.tile-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.tile-media img.ph{width:44%;height:auto;margin:auto;opacity:.16;filter:grayscale(1);
 position:absolute;inset:0}
.tile-media iframe{width:100%;height:100%;border:0;display:block}
.tile-play{display:block;width:100%;height:100%;position:relative}
.tile-play:hover img{transform:scale(1.04)}
.play{position:absolute;inset:0;margin:auto;width:62px;height:62px;border-radius:50%;
 background:#0b0b0bcc;border:1px solid #ff69b4}
.play::after{content:"";position:absolute;top:50%;left:54%;transform:translate(-50%,-50%);
 border-left:17px solid #ff69b4;border-top:11px solid transparent;border-bottom:11px solid transparent}
.tile figcaption{padding-top:18px}
.tile figcaption .eyebrow{display:block;font-size:11px;margin-bottom:9px}
.tile h3{font-family:'Italiana',serif;font-weight:400;color:#ede8dd;font-size:25px;
 line-height:1.15;margin:0 0 9px}
.tile p{margin:0;font-size:15px;color:#aaa79e;line-height:1.6}
.gallery-empty{color:#8f8d85;margin-top:30px}
@media(max-width:900px){.gallery-grid{grid-template-columns:repeat(2,1fr);gap:34px 22px}}
@media(max-width:600px){.gallery-grid{grid-template-columns:1fr}.tile h3{font-size:24px}}
/* .tile sets display:flex, which outranks the browser's [hidden] rule. */
.tile[hidden],.gallery-empty[hidden]{display:none}

/* Two text links sat side by side with their underlines touching, which read as
   one broken rule; the About page now has three. Stack them, each underlined to
   its own width. Scoped to this column so inline links elsewhere stay inline. */
.about-copy .text-link{display:flex;width:fit-content;margin-top:14px}


/* ======================================================================
   Round 5 — albums, the lightbox, and event updates.
   ====================================================================== */

/* ---- Album covers on the gallery index --------------------------------- */
.gallery-hint{color:#8f8d85;font-size:14px;margin:0 0 30px}
.album-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:46px 30px}
.album{display:block}
.album-cover{position:relative;aspect-ratio:4/3;overflow:hidden;background:#141412;
 border:1px solid #30302b}
.album-cover img{width:100%;height:100%;object-fit:cover;transition:transform .6s,filter .4s;
 filter:saturate(.82)}
.album:hover .album-cover img{transform:scale(1.04);filter:saturate(1)}
.album-cover img.ph{width:44%;height:auto;margin:auto;opacity:.16;filter:grayscale(1);
 position:absolute;inset:0}
.album-count{position:absolute;right:0;bottom:0;background:#0b0b0be6;color:#c6a56b;
 padding:7px 13px;font-size:11px;letter-spacing:.14em}
.album h3{font-family:'Italiana',serif;font-weight:400;color:#ede8dd;font-size:26px;
 line-height:1.15;margin:17px 0 7px;transition:color .2s}
.album:hover h3{color:#ff69b4}
.album .eyebrow{display:block;font-size:11px}
@media(max-width:900px){.album-grid{grid-template-columns:repeat(2,1fr);gap:34px 22px}}
@media(max-width:600px){.album-grid{grid-template-columns:1fr}}

/* The album page puts a way back where the section number usually sits. */
.section-label a:hover{color:#ff69b4}

/* ---- Lightbox ---------------------------------------------------------- */
/* Photos are plain links to the full image, so this is pure enhancement:
   with the script blocked, clicking one still opens the picture. */
.tile-zoom{display:block;width:100%;height:100%;cursor:zoom-in}
.lb{position:fixed;inset:0;z-index:200;background:#07070ff2;display:flex;
 align-items:center;justify-content:center;padding:40px 68px}
.lb[hidden]{display:none}
.lb img{max-width:100%;max-height:82vh;width:auto;height:auto;object-fit:contain}
.lb figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:16px}
.lb figcaption{color:#cfcabf;font-size:14px;text-align:center;max-width:60ch}
.lb-btn{position:absolute;background:none;border:1px solid #45423a;color:#eeeae2;
 width:46px;height:46px;border-radius:50%;font-size:20px;line-height:1;cursor:pointer;
 display:grid;place-items:center;transition:border-color .2s,color .2s}
.lb-btn:hover{border-color:#ff69b4;color:#ff69b4}
.lb-close{top:22px;right:22px}
.lb-prev{left:14px;top:50%;transform:translateY(-50%)}
.lb-next{right:14px;top:50%;transform:translateY(-50%)}
.lb-count{position:absolute;bottom:22px;left:0;right:0;text-align:center;
 color:#8f8d85;font-size:12px;letter-spacing:.14em}
@media(max-width:600px){
 .lb{padding:64px 12px}
 .lb-prev{left:8px}.lb-next{right:8px}
 .lb-btn{width:42px;height:42px}
}

/* ---- Event updates ----------------------------------------------------- */
.notify-band{margin-top:76px;border:1px solid #30302b;background:#0f0f0e;
 padding:44px 46px;display:grid;grid-template-columns:1fr auto;gap:34px;align-items:center}
.notify-band h2{font-size:clamp(32px,3.4vw,46px);margin:12px 0 14px}
.notify-band p{margin:0;color:#aaa79e;max-width:56ch}
.notify-band .button{white-space:nowrap}
@media(max-width:900px){
 .notify-band{grid-template-columns:1fr;padding:34px 26px;gap:24px}
 .notify-band .button{width:100%}
}
.subscribe-wrap{max-width:780px}
.subscribe-wrap .section-heading{margin-bottom:26px}
.subscribe-form{margin-top:34px}
.subscribe-wrap>p:last-of-type{color:#aaa79e}

/* The booking page's jump to the form, which sits among the contact rows. */
.booking-jump{margin:30px 0 4px;width:100%;max-width:420px}

/* ---- More than one featured brand -------------------------------------- */
/* She asked whether the other brands could have the SLAY Magazine treatment,
   so the panel is no longer a one-off. Consecutive panels alternate sides, or
   three of them stacked would read as the same block three times. */
.feature + .feature{margin-top:26px}
/* Guarded by min-width, not overridden at min-width. The single-column rule for
   .feature lives earlier in this file, so an unguarded two-column rule here
   would win below 600px and wedge the photo into a sliver beside the text. */
@media(min-width:601px){
  .feature.flip{grid-template-columns:1fr 1.18fr}
  .feature.flip .feature-image{order:2}
  .feature.flip .feature-copy{order:1}
}

/* The preview has been a stale snapshot since the cutover. Say so plainly at
   the top of every page there; it renders nowhere else. */
.staleband{margin:0;padding:11px 20px;background:#2a1a22;border-bottom:1px solid #5a3a48;
 color:#e7c3d3;font-size:13px;text-align:center;letter-spacing:.02em}
.staleband a{color:#ff69b4;border-bottom:1px solid #7a3b58}

/* The speaking photograph under the one-sheet on the booking page. */
.booking-photo{width:100%;height:auto;display:block;margin-top:14px;border:1px solid #30302b}

/* ---- Gallery sections -------------------------------------------------- */
/* Photographs and video are separate grids now. They cannot share a shape —
   4:3 against 16:9 — and mixing them left every row ragged, with captions
   starting at different heights depending on what sat above them. */
.group-head{font-family:'Italiana',serif;font-weight:400;font-size:13px;letter-spacing:.22em;
 text-transform:uppercase;color:#b8a078;margin:52px 0 20px;padding-bottom:10px;
 border-bottom:1px solid #30302b}
.group-head:first-of-type{margin-top:0}
/* Video is for watching, so two across rather than three. */
.video-grid{grid-template-columns:repeat(2,1fr)}
.tile h4{font-family:'Italiana',serif;font-weight:400;color:#ede8dd;font-size:25px;
 line-height:1.15;margin:0 0 9px}
@media(max-width:900px){.video-grid{grid-template-columns:1fr}}
@media(max-width:600px){.tile h4{font-size:24px}}

/* One photograph opens on its own. It used to open the whole set with arrows
   to step through it, which was more than anyone wanted from a gallery. */
.lb-prev,.lb-next,.lb-count{display:none!important}

/* Brand accents are SVG, so mobile browsers cannot substitute colored emoji. */
.brand-spark{display:inline-block;width:20px;height:20px;flex:0 0 20px;vertical-align:middle;overflow:visible}.button .brand-spark{width:22px;height:22px}.row-arrow .brand-spark{width:25px;height:25px}.text-link>span,.nav-contact>span,.nav-contact-mobile>span{display:inline-flex;align-items:center}.scroll-link .brand-spark{color:#c6a56b}footer .brand-spark{width:14px;height:14px}

/* ---- About page: the full bio ------------------------------------------
   One long bio in the right half left the left half empty on a computer.
   The intro pairs the heading with the lead; the story sits beside a portrait
   that stays in view while reading; her mission closes the page as a quote.
   On a phone the same pieces simply stack in reading order. */
.bio-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:90px;align-items:start;
 padding-bottom:80px;border-bottom:1px solid #30302b}
.bio-intro .eyebrow{margin:6px 0 22px;letter-spacing:.2em;font-size:12px}
.bio-intro .large{margin:0;font-size:clamp(22px,1.9vw,27px);line-height:1.5;color:#e9e5dc}
.bio-story{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:90px;
 align-items:start;padding-top:80px}
.bio-story.no-photo{grid-template-columns:1fr}
.bio-story.no-photo .bio-text{margin-inline:auto}
.bio-portrait{margin:0;position:sticky;top:40px}
.bio-portrait img{width:100%;aspect-ratio:3/4;max-height:calc(100vh - 120px);object-fit:cover;
 object-position:50% 30%;border:1px solid #3c3a32;filter:saturate(.9)}
.bio-portrait figcaption{margin-top:14px;font-size:11px;letter-spacing:.2em;color:#8f8d85;
 display:flex;align-items:center;gap:14px}
.bio-portrait figcaption::before{content:"";width:34px;height:1px;background:#c6a56b}
.bio-text{max-width:640px}
.bio-text p{margin:0 0 28px;font-size:17px;line-height:1.8;color:#b9b6ad}
.bio-text p:last-child{margin-bottom:0}
.bio-mission{margin:100px auto 0;padding:70px 0 0;border-top:1px solid #6b5b3f;
 max-width:980px;text-align:center}
.bio-mission .eyebrow{margin:0 0 26px;letter-spacing:.2em;font-size:12px}
.bio-mission p:last-child{margin:0;font-family:'Italiana',serif;font-weight:400;
 font-size:clamp(34px,3.7vw,56px);line-height:1.22;letter-spacing:-.015em;color:#ede8dd}
.bio-links{display:flex;flex-wrap:wrap;justify-content:center;gap:18px 56px;margin-top:70px}
@media(max-width:900px){
 .bio-intro,.bio-story{gap:40px}
 .bio-intro{padding-bottom:56px}.bio-story{padding-top:56px}
 .bio-mission{margin-top:70px;padding-top:50px}}
@media(max-width:700px){
 .bio-intro,.bio-story{grid-template-columns:minmax(0,1fr);gap:30px}
 .bio-portrait{position:static;max-width:440px}
 .bio-portrait img{max-height:none}
 .bio-text p{font-size:16px;line-height:1.75}
 .bio-mission{text-align:left;margin-top:56px;padding-top:40px}
 .bio-mission p:last-child{font-size:32px}
 .bio-links{flex-direction:column;align-items:flex-start;gap:6px;margin-top:44px}}
