@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap');

:root {
    color-scheme: dark;
    --ac-bg:#08070d;
    --ac-white:#f8f3ff;
    --ac-muted:#a9a0b8;
    --ac-pink:#f15acb;
    --ac-violet:#a967ff;
    --ac-cyan:#65e8ee;
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--ac-bg); color:var(--ac-white); font-family:'DM Sans',sans-serif; }
a { color:inherit; text-decoration:none; }

.ac-shell { width:min(1390px,calc(100% - 88px)); margin:auto; }

.ac-afterdark {
    --pointer-x:0px;
    --pointer-y:0px;
    position:relative;
    min-height:820px;
    overflow:hidden;
    isolation:isolate;
    background:
        radial-gradient(ellipse 47% 62% at 80% 45%,rgba(137,41,199,.20),transparent 70%),
        radial-gradient(ellipse 35% 45% at 58% 78%,rgba(238,41,156,.13),transparent 75%),
        radial-gradient(ellipse 35% 55% at 2% 2%,rgba(49,29,103,.32),transparent 70%),
        #08070d;
}

.ac-afterdark:before {
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background-image:
        linear-gradient(rgba(195,158,255,.035) 1px,transparent 1px),
        linear-gradient(90deg,rgba(195,158,255,.035) 1px,transparent 1px);
    background-size:74px 74px;
    mask-image:linear-gradient(to right,transparent,black 40%,black);
}

.ac-afterdark:after {
    content:"";
    position:absolute;
    width:800px;height:800px;
    right:-370px;top:-350px;
    border-radius:50%;
    border:1px solid rgba(228,142,255,.16);
    box-shadow:0 0 120px rgba(170,49,255,.08);
    pointer-events:none;
}

.ac-orbit {
    position:absolute;
    border:1px solid rgba(193,112,255,.10);
    border-radius:50%;
    pointer-events:none;
}
.ac-orbit-one { width:900px;height:900px;right:-140px;top:20px; }
.ac-orbit-two { width:690px;height:690px;right:-35px;top:130px; }

.ac-afterdark .ac-topline {
    height:105px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    border-bottom:1px solid rgba(255,255,255,.10);
    position:relative;
    z-index:10;
}

.ac-afterdark .ac-brand { display:flex;align-items:center;gap:14px; }
.ac-afterdark .ac-brand-mark {
    width:45px;height:45px;
    display:grid;place-items:center;
    border:1px solid rgba(243,141,228,.55);
    font-family:Georgia,serif;
    font-size:17px;
    color:#ffd1f5;
    box-shadow:inset 0 0 18px rgba(221,76,220,.11),0 0 20px rgba(221,76,220,.10);
}
.ac-afterdark .ac-brand-name { font-size:13px;letter-spacing:.30em;font-weight:700; }
.ac-afterdark .ac-topline-right { font-size:10px;letter-spacing:.26em;color:#b8abc5; }
.ac-pulse {
    display:inline-block;width:6px;height:6px;margin-left:13px;
    border-radius:50%;background:#f15acb;
    box-shadow:0 0 14px #f15acb;
    animation:acPulse 2.8s infinite;
}

.ac-hero-layout {
    display:grid;
    grid-template-columns: 52% 48%;
    min-height:610px;
    align-items:center;
    position:relative;
}

.ac-hero-copy { position:relative;z-index:5;padding:65px 0 55px; }
.ac-eyebrow {
    display:flex;align-items:center;gap:15px;
    color:#d1a8ef;font-size:10px;
    letter-spacing:.32em;font-weight:700;
    margin-bottom:36px;
}
.ac-eyebrow-line { width:38px;height:1px;background:var(--ac-pink);box-shadow:0 0 12px var(--ac-pink); }

.ac-hero-copy h1 {
    margin:0;
    font-size:clamp(76px,8.2vw,146px);
    font-weight:600;
    line-height:.91;
    letter-spacing:-.087em;
    position:relative;
    z-index:6;
}
.ac-hero-copy h1 span { display:block; }
.ac-neon-word {
    font-family:'Playfair Display',serif;
    font-weight:500;
    font-style:italic;
    padding:4px 0 12px 8px;
    background:linear-gradient(115deg,#fba1eb,#ed56d3 43%,#ae75ff 90%);
    -webkit-background-clip:text;background-clip:text;
    color:transparent;
    filter:drop-shadow(0 0 24px rgba(238,70,208,.24));
}
.ac-italic {
    font-family:'Playfair Display',serif;
    font-weight:500;
    font-style:italic;
    font-size:.78em;
    letter-spacing:-.07em;
}

.ac-description {
    max-width:450px;
    margin:35px 0 30px;
    color:#b7acc6;
    line-height:1.9;
    font-size:15px;
}

.ac-actions { display:flex;align-items:center;gap:25px;flex-wrap:wrap; }
.ac-primary-action {
    display:inline-flex;align-items:center;justify-content:space-between;
    gap:42px;padding:19px 22px 19px 26px;
    min-width:255px;
    background:linear-gradient(120deg,#b932c2,#ea4da5);
    color:white;
    font-size:12px;font-weight:700;letter-spacing:.06em;
    border:1px solid rgba(255,255,255,.22);
    box-shadow:0 12px 42px rgba(210,47,187,.20),inset 0 1px rgba(255,255,255,.20);
    transition:transform .3s,box-shadow .3s;
}
.ac-primary-action:hover { transform:translateY(-4px);box-shadow:0 17px 48px rgba(210,47,187,.38); }
.ac-primary-action span { font-size:23px;font-weight:400; }
.ac-action-caption { font-size:9px;letter-spacing:.18em;color:#877b98; }

.ac-hero-bottom { display:flex;align-items:center;gap:32px;margin-top:65px; }
.ac-hero-stat { display:flex;flex-direction:column;gap:9px; }
.ac-hero-stat strong { font-size:27px;font-weight:500;letter-spacing:-.04em; }
.ac-hero-stat span { font-size:9px;letter-spacing:.2em;color:#a498b4; }
.ac-stat-divider { height:37px;width:1px;background:rgba(255,255,255,.17); }

.ac-hero-art {
    height:630px;position:relative;z-index:3;
    transform:translate(var(--pointer-x),var(--pointer-y));
    transition:transform .5s ease-out;
}
.ac-art-halo {
    position:absolute;inset:15% 4%;
    border-radius:50%;
    background:radial-gradient(ellipse,rgba(219,50,214,.22),rgba(100,39,180,.08) 45%,transparent 70%);
    filter:blur(35px);
}
.ac-art-ring {
    position:absolute;width:460px;height:460px;
    border:1px solid rgba(234,104,230,.23);
    border-radius:50%;top:95px;left:18%;
    box-shadow:0 0 55px rgba(234,104,230,.09),inset 0 0 55px rgba(234,104,230,.06);
}
.ac-art-ring:after {
    content:"";position:absolute;inset:35px;border-radius:50%;
    border:1px dashed rgba(234,104,230,.13);
    animation:acSpin 55s linear infinite;
}

.ac-feature-card {
    position:absolute;
    display:block;
    overflow:hidden;
    background:#21122d;
    border:1px solid rgba(244,128,237,.40);
    box-shadow:0 30px 75px rgba(0,0,0,.58),0 0 35px rgba(202,59,209,.14);
    transition:transform .5s ease,border-color .4s,box-shadow .4s;
    animation:acFloat 8s ease-in-out infinite;
}
.ac-feature-card:hover {
    animation-play-state:paused;
    transform:translateY(-15px) rotate(0deg) scale(1.035);
    z-index:9;
    border-color:#ff8ee9;
    box-shadow:0 35px 90px rgba(0,0,0,.65),0 0 50px rgba(236,81,214,.35);
}
.ac-feature-card-1 { width:255px;height:380px;left:23%;top:112px;z-index:4;transform:rotate(-7deg); }
.ac-feature-card-2 { width:225px;height:340px;left:57%;top:64px;z-index:3;animation-delay:-2s;transform:rotate(9deg); }
.ac-feature-card-3 { width:215px;height:315px;left:55%;top:294px;z-index:5;animation-delay:-4s;transform:rotate(6deg); }

.ac-feature-image {
    position:absolute;inset:0;
    background:
        radial-gradient(circle at 45% 32%,rgba(246,97,203,.35),transparent 37%),
        linear-gradient(140deg,#45205b,#1a102c 58%,#090712);
    background-size:cover;background-position:center;
    transition:filter .4s,transform .6s;
}
.ac-feature-card:hover .ac-feature-image { transform:scale(1.07);filter:saturate(1.18); }
.ac-feature-image:after {
    content:"";position:absolute;inset:0;
    background:linear-gradient(180deg,transparent 25%,rgba(6,4,13,.17) 50%,rgba(5,3,10,.93));
}
.ac-feature-glow {
    position:absolute;inset:0;
    background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.11) 50%,transparent 65%);
    transform:translateX(-140%);
    transition:transform .8s;
}
.ac-feature-card:hover .ac-feature-glow { transform:translateX(140%); }

.ac-feature-info {
    position:absolute;z-index:2;
    left:19px;right:12px;bottom:20px;
    display:flex;flex-direction:column;gap:8px;
}
.ac-feature-info span { font-size:8px;letter-spacing:.22em;color:#e3b4e9; }
.ac-feature-info strong { font-family:'Playfair Display',serif;font-size:28px;font-weight:500; }
.ac-feature-info small { font-size:11px;color:#d1c3d9; }

.ac-art-stamp {
    position:absolute;z-index:7;
    width:112px;height:112px;left:5%;bottom:70px;
    border:1px solid rgba(255,156,236,.58);
    border-radius:50%;
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    text-align:center;gap:5px;
    background:rgba(17,9,28,.85);
    box-shadow:0 0 30px rgba(232,78,217,.16);
    transform:rotate(-12deg);
}
.ac-art-stamp span { font-size:7px;letter-spacing:.2em;color:#d8a4e3; }
.ac-art-stamp strong { font-family:Georgia,serif;font-size:14px;line-height:1.15;font-weight:400; }
.ac-art-caption { position:absolute;right:3%;bottom:10px;font-size:8px;letter-spacing:.25em;color:#9a8ba9; }

.ac-empty-feature {
    position:absolute;top:30%;left:18%;width:70%;
    padding:60px 30px;
    border:1px solid rgba(232,91,214,.35);
    background:linear-gradient(135deg,#32133b,#0d0918);
    text-align:center;
}
.ac-empty-feature span { display:block;font-size:10px;letter-spacing:.2em;color:#e9a0d9; }
.ac-empty-feature strong { display:block;margin:20px 0;font-family:Georgia,serif;font-size:35px;font-weight:400; }
.ac-empty-feature p { color:#a99db5;font-size:13px; }

.ac-hero-footer {
    height:85px;display:flex;align-items:center;justify-content:space-between;
    border-top:1px solid rgba(255,255,255,.10);
    font-size:9px;letter-spacing:.20em;color:#8e829e;
    position:relative;z-index:5;
}
.ac-hero-footer a { color:#f2a0e6; }
.ac-hero-footer a span { margin-left:13px;font-size:17px; }

.ac-collection-anchor {
    padding:115px 0 150px;
    background:radial-gradient(ellipse at 80% 0%,rgba(136,45,177,.13),transparent 50%),#0b0912;
}
.ac-section-eyebrow { font-size:10px;letter-spacing:.25em;color:#e38bd8;margin-bottom:22px; }
.ac-collection-anchor h2 {
    font-size:clamp(48px,6vw,90px);
    font-weight:500;letter-spacing:-.06em;margin:0;
}
.ac-collection-anchor h2 em { font-family:'Playfair Display',serif;color:#dc8ce7;font-weight:500; }
.ac-collection-anchor p { color:#b3a6bf;line-height:1.8; }
.ac-directory-list { margin-top:55px;border-top:1px solid rgba(255,255,255,.14); }
.ac-directory-list a {
    display:grid;grid-template-columns:1fr auto 30px;
    align-items:center;gap:30px;
    padding:25px 10px;
    border-bottom:1px solid rgba(255,255,255,.14);
    transition:background .3s,padding .3s;
}
.ac-directory-list a:hover { background:rgba(226,91,219,.07);padding-left:25px; }
.ac-directory-list a span:first-child { font-family:'Playfair Display',serif;font-size:29px; }
.ac-directory-list a small { color:#b5a6c1;font-size:12px; }
.ac-directory-list a span:last-child { color:#e58cda;font-size:22px; }

@keyframes acFloat {
    0%,100% { translate:0 0; }
    50% { translate:0 -13px; }
}
@keyframes acPulse {
    0%,100% { opacity:1;box-shadow:0 0 12px #f15acb; }
    50% { opacity:.4;box-shadow:0 0 24px #f15acb; }
}
@keyframes acSpin { to { transform:rotate(360deg); } }

@media(max-width:1100px) {
    .ac-shell { width:calc(100% - 48px); }
    .ac-hero-layout { grid-template-columns:1fr; }
    .ac-hero-copy { padding:70px 0 15px; }
    .ac-hero-copy h1 { font-size:clamp(65px,11vw,110px); }
    .ac-hero-art { height:520px;max-width:680px;width:100%;margin:auto; }
    .ac-feature-card-1 { left:15%;top:70px; }
    .ac-feature-card-2 { left:50%;top:30px; }
    .ac-feature-card-3 { left:52%;top:230px; }
    .ac-art-stamp { left:4%;bottom:50px; }
}
@media(max-width:650px) {
    .ac-shell { width:calc(100% - 34px); }
    .ac-afterdark .ac-topline { height:77px; }
    .ac-afterdark .ac-brand-mark { width:37px;height:37px;font-size:14px; }
    .ac-afterdark .ac-brand-name { font-size:10px;letter-spacing:.17em; }
    .ac-afterdark .ac-topline-right { font-size:8px;letter-spacing:.08em; }
    .ac-hero-copy { padding:65px 0 0; }
    .ac-eyebrow { font-size:9px;letter-spacing:.15em;margin-bottom:28px; }
    .ac-hero-copy h1 { font-size:clamp(57px,14vw,88px); }
    .ac-description { font-size:13px;line-height:1.8;margin:27px 0; }
    .ac-primary-action { min-width:220px;padding:16px 20px;font-size:11px; }
    .ac-action-caption { display:none; }
    .ac-hero-bottom { margin-top:43px;gap:22px; }
    .ac-hero-stat strong { font-size:22px; }
    .ac-hero-stat span { font-size:8px; }
    .ac-hero-art { height:430px;margin-top:20px; }
    .ac-art-ring { width:320px;height:320px;left:5%;top:50px; }
    .ac-feature-card-1 { width:170px;height:260px;left:8%;top:90px; }
    .ac-feature-card-2 { width:150px;height:225px;left:51%;top:35px; }
    .ac-feature-card-3 { width:145px;height:205px;left:51%;top:200px; }
    .ac-feature-info { left:12px;bottom:13px;gap:5px; }
    .ac-feature-info span { font-size:7px; }
    .ac-feature-info strong { font-size:20px; }
    .ac-feature-info small { font-size:9px; }
    .ac-art-stamp { width:75px;height:75px;left:0;bottom:20px; }
    .ac-art-stamp strong { font-size:10px; }
    .ac-art-stamp span { font-size:5px; }
    .ac-art-caption { display:none; }
    .ac-hero-footer { height:67px; }
    .ac-hero-footer span:last-child { display:none; }
    .ac-hero-footer span,.ac-hero-footer a { font-size:8px; }
    .ac-collection-anchor { padding:80px 0 100px; }
    .ac-directory-list a { gap:12px;grid-template-columns:1fr auto 20px; }
    .ac-directory-list a span:first-child { font-size:21px; }
    .ac-directory-list a small { font-size:10px; }
}
@media(prefers-reduced-motion:reduce) {
    *,*:before,*:after { animation:none!important;transition:none!important;scroll-behavior:auto!important; }
}


/* AFTER DARK — CATEGORY UNIVERSE V2 */
.ac-category-universe {
    position:relative;
    overflow:hidden;
    padding:120px 0 95px;
    background:
        radial-gradient(ellipse 55% 32% at 4% 12%,rgba(134,52,221,.14),transparent 75%),
        radial-gradient(ellipse 50% 35% at 100% 75%,rgba(235,53,170,.11),transparent 75%),
        #0b0912;
}
.ac-category-universe:before {
    content:"";position:absolute;inset:0;pointer-events:none;
    background-image:
        linear-gradient(rgba(203,151,255,.025) 1px,transparent 1px),
        linear-gradient(90deg,rgba(203,151,255,.025) 1px,transparent 1px);
    background-size:82px 82px;
}
.ac-universe-intro,.ac-category-grid,.ac-universe-footer {
    position:relative;z-index:2;
}
.ac-universe-kicker {
    display:flex;align-items:center;gap:15px;
    font-size:10px;letter-spacing:.27em;color:#d8a2ec;
}
.ac-universe-kicker-line {
    width:42px;height:1px;background:#e869db;
    box-shadow:0 0 12px #e869db;
}
.ac-universe-heading {
    display:flex;align-items:end;justify-content:space-between;
    gap:45px;margin:35px 0 70px;
}
.ac-universe-overline {
    color:#8f7f9f;font-size:10px;letter-spacing:.25em;
}
.ac-universe-heading h2 {
    font-size:clamp(70px,10vw,145px);
    line-height:.88;letter-spacing:-.075em;
    font-weight:600;margin:18px 0 0;
}
.ac-universe-heading h2 em {
    font-family:'Playfair Display',serif;
    font-weight:500;letter-spacing:-.05em;
    background:linear-gradient(120deg,#fc96e9,#c77cff,#77e7ee);
    -webkit-background-clip:text;background-clip:text;color:transparent;
    filter:drop-shadow(0 0 30px rgba(223,85,219,.15));
}
.ac-universe-description {
    max-width:300px;padding-bottom:8px;
}
.ac-universe-star {
    color:#ee78dc;font-size:39px;
    text-shadow:0 0 30px rgba(234,82,222,.5);
}
.ac-universe-description p {
    font-size:14px;line-height:1.95;color:#b8acc5;
    margin:20px 0 27px;
}
.ac-universe-count {
    font-size:10px;letter-spacing:.2em;color:#e6a1e2;
    border-top:1px solid rgba(255,255,255,.14);
    padding-top:19px;display:block;
}
.ac-category-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:19px;
}
.ac-category-tile {
    --tile-accent:#b879ff;
    min-height:355px;
    position:relative;overflow:hidden;
    display:flex;flex-direction:column;justify-content:space-between;
    padding:26px;
    border:1px solid rgba(187,131,241,.22);
    background:
        radial-gradient(circle at 78% 66%,color-mix(in srgb,var(--tile-accent) 13%,transparent),transparent 54%),
        linear-gradient(135deg,#171020,#0d0a15 65%);
    transition:transform .4s ease,border-color .4s ease,box-shadow .4s ease;
    isolation:isolate;
}
.ac-accent-pink { --tile-accent:#fa68c7; }
.ac-accent-cyan { --tile-accent:#6de7ec; }
.ac-category-tile:hover {
    transform:translateY(-9px);
    border-color:var(--tile-accent);
    box-shadow:0 25px 65px rgba(0,0,0,.36),0 0 36px color-mix(in srgb,var(--tile-accent) 17%,transparent);
}
.ac-category-tile:after {
    content:"";position:absolute;z-index:1;
    width:180%;height:70px;top:-100px;left:-40%;
    background:linear-gradient(180deg,transparent,rgba(255,255,255,.045),transparent);
    transform:rotate(-25deg);
    transition:top .7s;
    pointer-events:none;
}
.ac-category-tile:hover:after { top:120%; }
.ac-tile-noise {
    position:absolute;inset:0;pointer-events:none;opacity:.3;
    background-image:radial-gradient(rgba(255,255,255,.16) .5px,transparent .5px);
    background-size:9px 9px;
}
.ac-tile-orbit {
    position:absolute;width:280px;height:280px;
    right:-115px;bottom:-115px;border-radius:50%;
    border:1px solid color-mix(in srgb,var(--tile-accent) 30%,transparent);
    box-shadow:0 0 70px color-mix(in srgb,var(--tile-accent) 8%,transparent);
}
.ac-tile-orbit:after {
    content:"";position:absolute;inset:30px;border-radius:50%;
    border:1px dashed color-mix(in srgb,var(--tile-accent) 22%,transparent);
}
.ac-tile-top,.ac-tile-main,.ac-tile-bottom {
    position:relative;z-index:3;
}
.ac-tile-top,.ac-tile-bottom {
    display:flex;align-items:center;justify-content:space-between;gap:10px;
}
.ac-tile-top>span:first-child,.ac-tile-bottom>span:first-child {
    font-size:9px;letter-spacing:.17em;color:#a99bb7;
}
.ac-tile-status {
    font-size:8px;letter-spacing:.14em;
    color:#9b8ca8;white-space:nowrap;
}
.ac-tile-status-live { color:#91e5c8; }
.ac-tile-status-live i {
    display:inline-block;width:5px;height:5px;
    border-radius:50%;background:#91e5c8;
    margin-right:5px;box-shadow:0 0 9px #91e5c8;
}
.ac-tile-main { margin:52px 0 38px; }
.ac-tile-ghost-number {
    position:absolute;right:-6px;top:-78px;
    font-size:145px;font-weight:700;line-height:1;
    color:color-mix(in srgb,var(--tile-accent) 8%,transparent);
    letter-spacing:-.12em;pointer-events:none;
}
.ac-tile-sparkle {
    display:block;color:var(--tile-accent);
    font-size:25px;margin-bottom:14px;
    text-shadow:0 0 24px var(--tile-accent);
}
.ac-tile-main h3 {
    position:relative;font-family:'Playfair Display',serif;
    font-weight:500;font-size:clamp(32px,3.4vw,53px);
    letter-spacing:-.045em;line-height:1.05;
    margin:0 0 15px;overflow-wrap:anywhere;
}
.ac-tile-main p {
    margin:0;color:#b4a6c1;font-size:12px;line-height:1.6;
}
.ac-tile-bottom {
    border-top:1px solid rgba(255,255,255,.12);
    padding-top:17px;
}
.ac-tile-link {
    display:grid;place-items:center;
    width:41px;height:41px;border-radius:50%;
    background:color-mix(in srgb,var(--tile-accent) 15%,transparent);
    border:1px solid color-mix(in srgb,var(--tile-accent) 45%,transparent);
    color:var(--tile-accent);font-size:23px;
    transition:background .3s,transform .3s;
}
.ac-tile-link:hover {
    background:color-mix(in srgb,var(--tile-accent) 28%,transparent);
    transform:rotate(45deg);
}
.ac-tile-link-disabled { opacity:.4; }
.ac-universe-footer {
    display:flex;justify-content:space-between;gap:20px;
    margin-top:38px;padding-top:24px;
    border-top:1px solid rgba(255,255,255,.12);
    color:#8c7e9b;font-size:9px;letter-spacing:.2em;
}
.ac-universe-empty {
    grid-column:1/-1;padding:70px 25px;
    border:1px solid rgba(255,255,255,.14);
    color:#b9a9c7;text-align:center;
}
@media(max-width:1000px) {
    .ac-category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .ac-universe-heading h2 { font-size:clamp(65px,10vw,110px); }
}
@media(max-width:650px) {
    .ac-category-universe { padding:80px 0 65px; }
    .ac-universe-heading { display:block;margin:30px 0 43px; }
    .ac-universe-heading h2 { font-size:clamp(64px,14vw,90px); }
    .ac-universe-description { max-width:100%;margin-top:34px; }
    .ac-category-grid { grid-template-columns:1fr;gap:14px; }
    .ac-category-tile { min-height:300px;padding:23px; }
    .ac-tile-main { margin:40px 0 28px; }
    .ac-tile-main h3 { font-size:43px; }
    .ac-universe-footer span:last-child { display:none; }
}
@media(prefers-reduced-motion:reduce) {
    .ac-category-tile,.ac-category-tile:after,.ac-tile-link {
        transition:none!important;
    }
}


/* AFTER DARK — CINEMATIC PROFILE PHOTO CARDS */
.ac-feature-image.has-photo {
    background-color:#160c21;
    background-position:center top;
    background-size:cover;
    filter:saturate(.88) contrast(1.06);
}
.ac-feature-image.has-photo:after {
    background:
        linear-gradient(180deg,
            rgba(13,5,22,.10) 0%,
            rgba(15,5,25,.04) 35%,
            rgba(11,4,21,.48) 65%,
            rgba(5,3,12,.96) 100%);
}
.ac-feature-card:nth-of-type(3n+1) {
    border-color:rgba(242,110,216,.65);
    box-shadow:0 30px 75px rgba(0,0,0,.58),
               0 0 35px rgba(240,76,207,.23);
}
.ac-feature-card:nth-of-type(3n+2) {
    border-color:rgba(169,103,255,.65);
    box-shadow:0 30px 75px rgba(0,0,0,.58),
               0 0 35px rgba(160,83,255,.23);
}
.ac-feature-card:nth-of-type(3n+3) {
    border-color:rgba(101,232,238,.55);
    box-shadow:0 30px 75px rgba(0,0,0,.58),
               0 0 35px rgba(101,232,238,.16);
}
.ac-feature-card:hover .ac-feature-image.has-photo {
    filter:saturate(1.08) contrast(1.06);
}
.ac-feature-card .ac-feature-info strong {
    text-shadow:0 2px 16px rgba(0,0,0,.75);
}


/* AFTER DARK — THREE DISTINCT CATEGORY PORTRAITS */
.ac-feature-preview {
    cursor:default;
}

.ac-feature-preview .ac-feature-info small {
    color:#f3b0e5;
    letter-spacing:.13em;
    font-size:9px;
}

.ac-feature-image.has-photo {
    background-size:cover;
    background-position:center 22%;
    background-repeat:no-repeat;
}

.ac-feature-card-1 .ac-feature-image.has-photo {
    background-position:center 18%;
}

.ac-feature-card-2 .ac-feature-image.has-photo {
    background-position:center 22%;
}

.ac-feature-card-3 .ac-feature-image.has-photo {
    background-position:center 20%;
}

.ac-feature-card .ac-feature-image.has-photo:after {
    background:linear-gradient(
        180deg,
        rgba(10,5,19,.04) 0%,
        rgba(10,5,19,.02) 30%,
        rgba(10,5,19,.30) 58%,
        rgba(5,3,12,.95) 100%
    );
}

.ac-feature-card:hover .ac-feature-image.has-photo {
    transform:scale(1.08);
}



/* ============================================================
   CHAPTER 02 — THE COLLECTION ATLAS
   ============================================================ */

.ac-atlas {
    --atlas-ink:#0c0812;
    --atlas-paper:#f7ecf3;
    position:relative;
    isolation:isolate;
    overflow:hidden;
    background:
        radial-gradient(ellipse at 5% 12%,rgba(126,46,111,.17),transparent 36%),
        radial-gradient(ellipse at 95% 70%,rgba(75,38,127,.15),transparent 38%),
        #0c0812;
    color:var(--atlas-paper);
    padding:110px 24px 100px;
}

.ac-atlas:before {
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    pointer-events:none;
    opacity:.14;
    background-image:
        linear-gradient(rgba(231,178,222,.13) 1px,transparent 1px),
        linear-gradient(90deg,rgba(231,178,222,.13) 1px,transparent 1px);
    background-size:110px 110px;
    mask-image:linear-gradient(180deg,transparent,#000 25%,#000 80%,transparent);
}

.ac-atlas-orb {
    position:absolute;
    border-radius:50%;
    pointer-events:none;
    filter:blur(80px);
    opacity:.22;
}

.ac-atlas-orb-one {
    width:400px;height:400px;
    top:18%;left:-220px;
    background:#b03c9e;
}

.ac-atlas-orb-two {
    width:450px;height:450px;
    bottom:8%;right:-250px;
    background:#543cbb;
}

.ac-atlas-container {
    width:min(100%,1320px);
    margin-inline:auto;
    position:relative;
    z-index:1;
}

.ac-atlas-heading {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:40px;
    margin-bottom:65px;
}

.ac-atlas-heading-left {max-width:830px;}

.ac-atlas-eyebrow {
    display:flex;
    align-items:center;
    gap:14px;
    color:#dca0ce;
    font-size:10px;
    font-weight:700;
    letter-spacing:.24em;
    margin-bottom:27px;
}

.ac-atlas-eyebrow-line {
    width:38px;height:1px;
    background:linear-gradient(90deg,#ec91dc,transparent);
}

.ac-atlas-heading h2 {
    font-family:Georgia,"Times New Roman",serif;
    font-weight:400;
    font-size:clamp(43px,6.1vw,92px);
    line-height:1.02;
    letter-spacing:-.055em;
    margin:0;
}

.ac-atlas-heading h2 em {
    display:block;
    font-weight:400;
    color:#eaa6d7;
}

.ac-atlas-heading p {
    max-width:560px;
    color:#b8a8bc;
    font-size:15px;
    line-height:1.9;
    margin:28px 0 0;
}

.ac-atlas-heading-right {
    flex:0 0 auto;
    text-align:right;
    padding-bottom:9px;
}

.ac-atlas-index-label,
.ac-atlas-index-caption {
    display:block;
    font-size:9px;
    letter-spacing:.23em;
    color:#c7a7c5;
}

.ac-atlas-heading-right strong {
    display:block;
    font-family:Georgia,serif;
    font-weight:400;
    font-size:100px;
    line-height:1;
    color:#f2c8e9;
    letter-spacing:-.08em;
    margin:10px 0;
}

.ac-atlas-toolbar {
    border-top:1px solid rgba(236,178,222,.21);
    border-bottom:1px solid rgba(236,178,222,.21);
    padding:18px 0;
    display:flex;
    justify-content:space-between;
    gap:15px;
    margin-bottom:35px;
}

.ac-atlas-toolbar-label,
.ac-atlas-toolbar-note {
    display:flex;
    align-items:center;
    gap:12px;
    font-size:10px;
    letter-spacing:.19em;
    color:#d8b6d2;
}

.ac-atlas-live-dot {
    width:7px;height:7px;
    border-radius:50%;
    background:#e57ac9;
    box-shadow:0 0 14px rgba(229,122,201,.8);
}

.ac-atlas-toolbar-note span {
    font-size:18px;
    color:#efb0df;
}

.ac-atlas-grid {
    display:grid;
    grid-template-columns:repeat(12,minmax(0,1fr));
    grid-auto-flow:row dense;
    gap:20px;
    align-items:stretch;
}

.ac-atlas-item {
    --atlas-accent:#dc86d0;
    grid-column:span 3;
    min-width:0;
    min-height:360px;
}

.ac-atlas-item-1 {
    grid-column:span 6;
    grid-row:span 2;
    min-height:740px;
    --atlas-accent:#d88aff;
}

.ac-atlas-item-2 {
    grid-column:span 3;
    min-height:360px;
    --atlas-accent:#f59fc5;
}

.ac-atlas-item-3 {
    grid-column:span 3;
    min-height:360px;
    --atlas-accent:#edba77;
}

.ac-atlas-item-4 {
    grid-column:span 3;
    --atlas-accent:#a6c6ff;
}

.ac-atlas-item-5 {
    grid-column:span 3;
    --atlas-accent:#f1d39a;
}

.ac-atlas-item-6 {
    grid-column:span 4;
    min-height:420px;
    --atlas-accent:#e18ce0;
}

.ac-atlas-item-7 {
    grid-column:span 4;
    min-height:420px;
    --atlas-accent:#8fcfd4;
}

.ac-atlas-item-8 {
    grid-column:span 4;
    min-height:420px;
    --atlas-accent:#c8a6ff;
}

.ac-atlas-item-9 {
    grid-column:span 6;
    min-height:430px;
    --atlas-accent:#f6a7c4;
}

.ac-atlas-item-10 {
    grid-column:span 6;
    min-height:430px;
    --atlas-accent:#e5bc7d;
}

.ac-atlas-card {
    display:block;
    width:100%;
    height:100%;
    min-height:inherit;
    position:relative;
    overflow:hidden;
    text-decoration:none;
    color:inherit;
    border:1px solid rgba(240,183,225,.2);
    background:#1c1127;
    border-radius:5px;
    box-shadow:0 18px 50px rgba(0,0,0,.2);
    transition:border-color .45s,box-shadow .45s,transform .45s;
}

a.ac-atlas-card:hover {
    border-color:var(--atlas-accent);
    transform:translateY(-5px);
    box-shadow:
        0 28px 65px rgba(0,0,0,.4),
        0 0 30px color-mix(in srgb,var(--atlas-accent) 22%,transparent);
}

.ac-atlas-media {
    position:absolute;
    inset:0;
    overflow:hidden;
    background:
        radial-gradient(circle at 50% 30%,rgba(161,92,160,.32),transparent 55%),
        linear-gradient(145deg,#32203c,#110c1a);
}

.ac-atlas-media img {
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center 22%;
    filter:saturate(.82) contrast(1.04);
    transition:transform .9s cubic-bezier(.2,.7,.2,1),filter .6s;
}

.ac-atlas-card:hover .ac-atlas-media img {
    transform:scale(1.075);
    filter:saturate(1.08) contrast(1.05);
}

.ac-atlas-image-overlay {
    position:absolute;
    inset:0;
    background:
        linear-gradient(180deg,rgba(7,4,13,.36),transparent 25%),
        linear-gradient(0deg,rgba(7,4,13,.97),rgba(7,4,13,.48) 28%,transparent 65%);
    pointer-events:none;
}

.ac-atlas-light-sweep {
    position:absolute;
    inset:0;
    pointer-events:none;
    background:linear-gradient(
        110deg,
        transparent 30%,
        rgba(255,255,255,.12) 48%,
        transparent 60%
    );
    transform:translateX(-160%);
    transition:transform .9s;
}

.ac-atlas-card:hover .ac-atlas-light-sweep {
    transform:translateX(160%);
}

.ac-atlas-card-number {
    position:absolute;
    top:23px;left:24px;
    font-size:9px;
    letter-spacing:.2em;
    color:#fff;
    text-shadow:0 2px 10px rgba(0,0,0,.7);
}

.ac-atlas-coming-soon {
    position:absolute;
    top:20px;right:20px;
    border:1px solid rgba(255,255,255,.42);
    background:rgba(15,9,25,.45);
    backdrop-filter:blur(10px);
    padding:9px 12px;
    color:#f4d9eb;
    font-size:8px;
    font-weight:700;
    letter-spacing:.16em;
}

.ac-atlas-card-content {
    position:absolute;
    bottom:0;
    left:0;right:0;
    padding:30px 25px;
}

.ac-atlas-card-kicker {
    display:block;
    color:var(--atlas-accent);
    font-size:9px;
    font-weight:700;
    letter-spacing:.2em;
    margin-bottom:12px;
}

.ac-atlas-card-content h3 {
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(27px,3vw,49px);
    font-weight:400;
    line-height:1.08;
    letter-spacing:-.035em;
    color:#fff;
    margin:0 0 22px;
    text-shadow:0 3px 16px rgba(0,0,0,.6);
}

.ac-atlas-item-1 .ac-atlas-card-content h3 {
    font-size:clamp(46px,5vw,76px);
}

.ac-atlas-card-footer {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding-top:15px;
    border-top:1px solid rgba(255,255,255,.28);
    color:#f2dce9;
    font-size:9px;
    letter-spacing:.16em;
}

.ac-atlas-card-arrow {
    display:grid;
    place-items:center;
    width:33px;height:33px;
    border:1px solid rgba(255,255,255,.4);
    border-radius:50%;
    font-size:19px;
    transition:background .3s,color .3s,transform .3s;
}

a.ac-atlas-card:hover .ac-atlas-card-arrow {
    background:var(--atlas-accent);
    color:#120a17;
    transform:rotate(45deg);
}

.ac-atlas-empty {
    grid-column:1/-1;
    padding:75px 20px;
    text-align:center;
    border:1px solid rgba(236,178,222,.25);
}

.ac-atlas-empty span {
    font-size:10px;
    letter-spacing:.2em;
    color:#e5a3d7;
}

.ac-atlas-empty h3 {
    font-family:Georgia,serif;
    font-size:32px;
    font-weight:400;
}

.ac-atlas-footer {
    display:flex;
    justify-content:space-between;
    gap:20px;
    margin-top:40px;
    padding-top:22px;
    border-top:1px solid rgba(236,178,222,.21);
    color:#a996b0;
    font-size:9px;
    letter-spacing:.19em;
}

@media(max-width:1000px) {
    .ac-atlas {padding:85px 22px;}
    .ac-atlas-heading-right strong {font-size:75px;}
    .ac-atlas-grid {gap:14px;}
    .ac-atlas-item,
    .ac-atlas-item-2,
    .ac-atlas-item-3,
    .ac-atlas-item-4,
    .ac-atlas-item-5,
    .ac-atlas-item-6,
    .ac-atlas-item-7,
    .ac-atlas-item-8,
    .ac-atlas-item-9,
    .ac-atlas-item-10 {
        grid-column:span 6;
        grid-row:auto;
        min-height:400px;
    }
    .ac-atlas-item-1 {
        grid-column:span 12;
        grid-row:auto;
        min-height:550px;
    }
}

@media(max-width:640px) {
    .ac-atlas {padding:70px 15px;}
    .ac-atlas-heading {
        display:block;
        margin-bottom:38px;
    }
    .ac-atlas-eyebrow {
        font-size:8px;
        letter-spacing:.16em;
    }
    .ac-atlas-heading h2 {
        font-size:clamp(40px,10vw,62px);
    }
    .ac-atlas-heading p {
        font-size:13px;
        line-height:1.8;
        margin-top:18px;
    }
    .ac-atlas-heading-right {
        display:flex;
        align-items:center;
        gap:13px;
        text-align:left;
        margin-top:28px;
    }
    .ac-atlas-heading-right strong {
        order:-1;
        font-size:54px;
        margin:0;
    }
    .ac-atlas-index-label,
    .ac-atlas-index-caption {
        font-size:8px;
    }
    .ac-atlas-toolbar {
        margin-bottom:18px;
    }
    .ac-atlas-toolbar-label,
    .ac-atlas-toolbar-note {
        font-size:8px;
        letter-spacing:.09em;
    }
    .ac-atlas-grid {gap:10px;}
    .ac-atlas-item,
    .ac-atlas-item-2,
    .ac-atlas-item-3,
    .ac-atlas-item-4,
    .ac-atlas-item-5,
    .ac-atlas-item-6,
    .ac-atlas-item-7,
    .ac-atlas-item-8,
    .ac-atlas-item-9,
    .ac-atlas-item-10 {
        grid-column:span 6;
        min-height:275px;
    }
    .ac-atlas-item-1 {
        grid-column:span 12;
        min-height:480px;
    }
    .ac-atlas-card-content {
        padding:18px 13px;
    }
    .ac-atlas-card-number {
        top:14px;left:13px;
        font-size:8px;
    }
    .ac-atlas-coming-soon {
        top:12px;right:10px;
        font-size:7px;
        padding:7px 8px;
    }
    .ac-atlas-card-kicker {
        font-size:7px;
        letter-spacing:.1em;
    }
    .ac-atlas-card-content h3 {
        font-size:clamp(23px,5.5vw,34px);
        margin-bottom:15px;
        overflow-wrap:anywhere;
    }
    .ac-atlas-item-1 .ac-atlas-card-content h3 {
        font-size:55px;
    }
    .ac-atlas-card-footer {
        font-size:7px;
        letter-spacing:.06em;
    }
    .ac-atlas-card-arrow {
        width:26px;height:26px;
        font-size:15px;
        flex:0 0 auto;
    }
    .ac-atlas-footer {
        font-size:8px;
        line-height:1.8;
    }
}

@media(prefers-reduced-motion:reduce) {
    .ac-atlas-card,
    .ac-atlas-media img,
    .ac-atlas-light-sweep,
    .ac-atlas-card-arrow {
        transition:none!important;
        animation:none!important;
    }
}


/* ============================================================
   CHAPTER 03 — THE ART OF CHOICE
   MIDNIGHT SILK EDITORIAL EXPERIENCE
   ============================================================ */

.ac-choice {
    position:relative;
    isolation:isolate;
    overflow:hidden;
    background:
        radial-gradient(ellipse at 72% 35%,rgba(95,23,92,.21),transparent 48%),
        radial-gradient(ellipse at 18% 80%,rgba(64,27,102,.22),transparent 42%),
        #080610;
    color:#f8edf6;
    padding:45px 24px 35px;
}

.ac-choice:before {
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    z-index:-1;
    background:
        linear-gradient(110deg,transparent 10%,rgba(219,87,177,.06) 50%,transparent 85%),
        repeating-linear-gradient(
            90deg,
            transparent 0,
            transparent 119px,
            rgba(232,166,225,.035) 120px
        );
}

.ac-choice-noise {
    position:absolute;
    inset:0;
    opacity:.16;
    pointer-events:none;
    background-image:
        radial-gradient(rgba(255,255,255,.12) .6px,transparent .7px);
    background-size:5px 5px;
}

.ac-choice-light {
    position:absolute;
    width:800px;
    height:240px;
    border-radius:50%;
    pointer-events:none;
    filter:blur(72px);
    opacity:.35;
    transform:rotate(-28deg);
    animation:acChoiceDrift 16s ease-in-out infinite alternate;
}

.ac-choice-light-one {
    top:18%;
    right:-290px;
    background:linear-gradient(90deg,transparent,#d332a8,#6530b8,transparent);
}

.ac-choice-light-two {
    bottom:12%;
    left:-340px;
    background:linear-gradient(90deg,transparent,#742bd6,#e44b9f,transparent);
    animation-delay:-8s;
}

@keyframes acChoiceDrift {
    0% {transform:translate3d(-45px,-25px,0) rotate(-28deg);}
    100% {transform:translate3d(55px,45px,0) rotate(-17deg);}
}

.ac-choice-ring {
    position:absolute;
    border:1px solid rgba(232,146,219,.08);
    border-radius:50%;
    pointer-events:none;
}

.ac-choice-ring-one {
    width:760px;
    height:760px;
    top:4%;
    right:-370px;
}

.ac-choice-ring-two {
    width:1060px;
    height:1060px;
    top:-7%;
    right:-520px;
}

.ac-choice-inner {
    position:relative;
    z-index:1;
    width:min(100%,1320px);
    margin-inline:auto;
}

.ac-choice-topline,
.ac-choice-endline {
    display:flex;
    justify-content:space-between;
    gap:20px;
    color:#bba0b9;
    font-size:9px;
    font-weight:600;
    letter-spacing:.23em;
}

.ac-choice-topline {
    border-bottom:1px solid rgba(240,173,227,.17);
    padding:20px 0 26px;
}

.ac-choice-editorial {
    padding:125px 0 110px;
    max-width:1150px;
}

.ac-choice-kicker {
    display:flex;
    align-items:center;
    gap:14px;
    color:#e59bcf;
    font-size:10px;
    font-weight:700;
    letter-spacing:.23em;
    margin-bottom:40px;
}

.ac-choice-kicker-line {
    width:45px;
    height:1px;
    background:#f19ad5;
    box-shadow:0 0 15px rgba(241,154,213,.8);
}

.ac-choice h2 {
    margin:0;
    font-family:Georgia,"Times New Roman",serif;
    font-weight:400;
    font-size:clamp(60px,9.5vw,145px);
    letter-spacing:-.075em;
    line-height:.99;
}

.ac-choice h2 span,
.ac-choice h2 em {
    display:block;
}

.ac-choice h2 em {
    color:#ed9dd3;
    font-weight:400;
    padding-left:9%;
}

.ac-choice h2 .ac-choice-outline {
    color:transparent;
    -webkit-text-stroke:1px rgba(247,190,229,.8);
    text-shadow:0 0 55px rgba(222,76,183,.14);
    padding-left:23%;
}

.ac-choice-description {
    display:flex;
    align-items:flex-start;
    gap:22px;
    max-width:570px;
    margin:65px 0 0 auto;
}

.ac-choice-quote-mark {
    font-family:Georgia,serif;
    font-size:100px;
    line-height:.8;
    color:#c95ab5;
}

.ac-choice-description p {
    color:#c5b0c5;
    font-size:16px;
    line-height:2;
    margin:0;
}

.ac-choice-divider {
    display:flex;
    align-items:center;
    gap:24px;
    margin-bottom:30px;
}

.ac-choice-divider span {
    flex:1;
    height:1px;
    background:linear-gradient(90deg,transparent,rgba(237,164,223,.28));
}

.ac-choice-divider span:last-child {
    transform:rotate(180deg);
}

.ac-choice-divider b {
    font-size:10px;
    font-weight:600;
    letter-spacing:.3em;
    color:#d8a0d0;
}

.ac-choice-steps {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    border:1px solid rgba(238,167,225,.18);
    background:rgba(20,10,29,.44);
    backdrop-filter:blur(12px);
}

.ac-choice-step {
    position:relative;
    overflow:hidden;
    min-height:365px;
    padding:34px 34px 40px;
    border-right:1px solid rgba(238,167,225,.18);
    transition:background .5s;
}

.ac-choice-step:last-child {
    border-right:0;
}

.ac-choice-step:before {
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:radial-gradient(
        circle at 50% 100%,
        rgba(218,74,183,.18),
        transparent 65%
    );
    opacity:0;
    transition:opacity .5s;
}

.ac-choice-step:hover {
    background:rgba(80,28,83,.2);
}

.ac-choice-step:hover:before {
    opacity:1;
}

.ac-choice-step-number {
    font-family:Georgia,serif;
    font-size:75px;
    line-height:1;
    color:transparent;
    -webkit-text-stroke:1px rgba(233,151,216,.45);
    margin-bottom:62px;
}

.ac-choice-step-label {
    display:block;
    font-size:9px;
    letter-spacing:.22em;
    color:#e29ccc;
    margin-bottom:16px;
}

.ac-choice-step h3 {
    font-family:Georgia,serif;
    font-size:clamp(37px,4vw,60px);
    font-weight:400;
    letter-spacing:-.06em;
    margin:0 0 20px;
}

.ac-choice-step h3 span {
    color:#e278c7;
}

.ac-choice-step p {
    max-width:290px;
    color:#bba9be;
    font-size:14px;
    line-height:1.85;
    margin:0;
}

.ac-choice-step-symbol {
    position:absolute;
    top:33px;
    right:30px;
    font-size:22px;
    color:#dba1d0;
    transition:transform .35s;
}

.ac-choice-step:hover .ac-choice-step-symbol {
    transform:translate(5px,-5px);
}

.ac-choice-bottom {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
    padding:65px 0 85px;
}

.ac-choice-bottom-copy span {
    display:block;
    color:#d99dcf;
    font-size:10px;
    letter-spacing:.24em;
    margin-bottom:12px;
}

.ac-choice-bottom-copy strong {
    font-family:Georgia,serif;
    font-weight:400;
    font-size:clamp(30px,4vw,54px);
}

.ac-choice-cta {
    display:inline-flex;
    align-items:center;
    justify-content:space-between;
    gap:35px;
    min-width:320px;
    padding:17px 18px 17px 26px;
    color:#fff;
    text-decoration:none;
    font-size:10px;
    font-weight:700;
    letter-spacing:.15em;
    background:linear-gradient(110deg,#a32aaf,#df49aa);
    box-shadow:0 10px 40px rgba(197,44,164,.25);
    transition:transform .35s,box-shadow .35s;
}

.ac-choice-cta:hover {
    transform:translateY(-4px);
    box-shadow:0 16px 50px rgba(224,63,171,.4);
}

.ac-choice-cta-arrow {
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    border:1px solid rgba(255,255,255,.5);
    font-size:20px;
}

.ac-choice-endline {
    border-top:1px solid rgba(240,173,227,.17);
    padding:26px 0 5px;
}

.ac-choice-reveal {
    opacity:0;
    transform:translateY(30px);
    transition:
        opacity .85s ease var(--choice-delay,0ms),
        transform .85s cubic-bezier(.2,.7,.2,1) var(--choice-delay,0ms);
}

.ac-choice-reveal.is-visible {
    opacity:1;
    transform:translateY(0);
}

@media(max-width:900px) {
    .ac-choice-editorial {
        padding:95px 0 85px;
    }
    .ac-choice h2 {
        font-size:clamp(58px,9vw,100px);
    }
    .ac-choice-step {
        padding:28px 22px;
        min-height:340px;
    }
    .ac-choice-step-number {
        font-size:60px;
        margin-bottom:50px;
    }
    .ac-choice-bottom {
        flex-wrap:wrap;
    }
}

@media(max-width:640px) {
    .ac-choice {
        padding:15px 16px 25px;
    }
    .ac-choice-topline,
    .ac-choice-endline {
        font-size:7px;
        letter-spacing:.12em;
    }
    .ac-choice-topline span:last-child {
        display:none;
    }
    .ac-choice-editorial {
        padding:80px 0 65px;
    }
    .ac-choice-kicker {
        font-size:8px;
        letter-spacing:.15em;
        margin-bottom:28px;
    }
    .ac-choice h2 {
        font-size:clamp(48px,12vw,77px);
        line-height:1.06;
        letter-spacing:-.065em;
    }
    .ac-choice h2 em {
        padding-left:0;
    }
    .ac-choice h2 .ac-choice-outline {
        padding-left:8%;
    }
    .ac-choice-description {
        margin-top:45px;
        gap:13px;
    }
    .ac-choice-quote-mark {
        font-size:70px;
    }
    .ac-choice-description p {
        font-size:13px;
        line-height:1.85;
    }
    .ac-choice-divider {
        gap:12px;
    }
    .ac-choice-divider b {
        font-size:8px;
        letter-spacing:.16em;
    }
    .ac-choice-steps {
        grid-template-columns:1fr;
    }
    .ac-choice-step {
        min-height:245px;
        border-right:0;
        border-bottom:1px solid rgba(238,167,225,.18);
        padding:27px 25px;
    }
    .ac-choice-step:last-child {
        border-bottom:0;
    }
    .ac-choice-step-number {
        font-size:48px;
        margin-bottom:23px;
    }
    .ac-choice-step h3 {
        font-size:45px;
        margin-bottom:12px;
    }
    .ac-choice-step p {
        font-size:13px;
    }
    .ac-choice-bottom {
        padding:48px 0 60px;
    }
    .ac-choice-bottom-copy strong {
        font-size:34px;
    }
    .ac-choice-cta {
        width:100%;
        min-width:0;
        font-size:9px;
    }
}

@media(prefers-reduced-motion:reduce) {
    .ac-choice-light,
    .ac-choice-reveal,
    .ac-choice-step,
    .ac-choice-step-symbol,
    .ac-choice-cta {
        animation:none!important;
        transition:none!important;
    }
    .ac-choice-reveal {
        opacity:1!important;
        transform:none!important;
    }
}


/* CHAPTER 04 — BEYOND THE CAPITAL */
.ac-city-edit,.ac-city-directory {
  position:relative;isolation:isolate;overflow:hidden;
  padding:70px 24px 35px;color:#f7f3ff;
  background:radial-gradient(ellipse at 90% 10%,#292054 0%,transparent 43%),
             radial-gradient(ellipse at 5% 95%,#17264b 0%,transparent 45%),#090c1c;
}
.ac-city-edit *,.ac-city-directory * {box-sizing:border-box}
.ac-city-wrap {position:relative;z-index:2;max-width:1320px;margin:auto}
.ac-city-ambient {
  position:absolute;right:-300px;top:0;width:750px;height:750px;
  border:1px solid #8e79dc30;border-radius:50%;
  box-shadow:0 0 0 100px #9c82ff08,0 0 0 220px #9c82ff05;
  pointer-events:none;
}
.ac-city-top,.ac-city-bottom {
  display:flex;justify-content:space-between;gap:15px;
  font:600 9px Arial,sans-serif;letter-spacing:.24em;color:#a99dce;
}
.ac-city-top {padding:20px 0 26px;border-bottom:1px solid #ab97f930}
.ac-city-bottom {padding:25px 0 5px;border-top:1px solid #ab97f930}
.ac-city-heading {
  display:flex;align-items:end;justify-content:space-between;
  gap:35px;padding:95px 0 65px;
}
.ac-city-kicker {
  display:block;color:#c1afff;font:700 10px Arial,sans-serif;
  letter-spacing:.23em;margin-bottom:28px;
}
.ac-city-heading h2,.ac-city-heading h1 {
  margin:0;font:400 clamp(60px,9vw,130px)/.96 Georgia,serif;
  letter-spacing:-.07em;
}
.ac-city-heading em {color:#bca4ff;font-weight:400}
.ac-city-heading h2 span {
  color:transparent;-webkit-text-stroke:1px #cab8ff;
}
.ac-city-heading>p {
  max-width:280px;margin:0 0 10px;
  font:400 15px/1.95 Arial,sans-serif;color:#bcb6d3;
}
.ac-city-grid {
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;
}
.ac-city-tile {
  position:relative;display:flex;flex-direction:column;
  justify-content:space-between;overflow:hidden;
  min-height:315px;padding:28px;
  border:1px solid #9e89ef38;
  background:radial-gradient(circle at 90% 5%,#785be22b,transparent 48%),
             linear-gradient(135deg,#26224b,#0e1125);
  color:#f8f4ff;text-decoration:none;
  transition:transform .4s,border-color .4s,box-shadow .4s;
}
.ac-city-tile:nth-child(6n+2),.ac-city-tile:nth-child(6n+5) {
  background:radial-gradient(circle at 85% 10%,#9a4ac633,transparent 50%),
             linear-gradient(135deg,#2a1b46,#101329);
}
.ac-city-tile:nth-child(6n+3),.ac-city-tile:nth-child(6n+4) {
  background:radial-gradient(circle at 10% 10%,#4277d233,transparent 55%),
             linear-gradient(135deg,#172b48,#101326);
}
.ac-city-tile:before {
  content:"";position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(90deg,transparent 0,
             transparent 47px,#beabff09 48px);
}
.ac-city-tile:after {
  content:"";position:absolute;right:-120px;top:20px;
  width:260px;height:260px;border:1px solid #c1a5ff24;
  border-radius:50%;pointer-events:none;
  box-shadow:0 0 0 43px #c1a5ff07,0 0 0 86px #c1a5ff05;
  transition:transform .6s;
}
.ac-city-tile:hover {
  transform:translateY(-7px);border-color:#a78bff;
  box-shadow:0 20px 55px #5133a840;
}
.ac-city-tile:hover:after {transform:scale(1.2)}
.ac-city-num,.ac-city-tile-foot,.ac-city-tile-bottom small {
  position:relative;z-index:1;
  font:600 9px Arial,sans-serif;letter-spacing:.18em;
}
.ac-city-num {color:#b3a5dc}
.ac-city-pin {
  position:absolute;right:26px;top:22px;color:#c4adff;
  font-size:27px;z-index:1;
}
.ac-city-tile-bottom {position:relative;z-index:1}
.ac-city-tile-bottom small {
  display:block;color:#bba8fa;margin-bottom:12px;
}
.ac-city-tile-bottom strong {
  display:block;font:400 clamp(32px,3.5vw,55px)/1.1 Georgia,serif;
  letter-spacing:-.05em;overflow-wrap:anywhere;
}
.ac-city-tile-foot {
  display:flex;align-items:center;justify-content:space-between;
  margin-top:26px;padding-top:17px;border-top:1px solid #b9a7f53b;
  color:#d1c4f2;
}
.ac-city-tile-foot b {font:400 24px Arial,sans-serif}
.ac-city-end {
  display:flex;align-items:center;justify-content:space-between;
  gap:25px;padding:65px 0 75px;
}
.ac-city-end small {
  display:block;color:#bca8f6;font:600 9px Arial,sans-serif;
  letter-spacing:.24em;margin-bottom:13px;
}
.ac-city-end strong {
  display:block;font:400 clamp(26px,3.3vw,43px) Georgia,serif;
}
.ac-city-button {
  display:flex;align-items:center;justify-content:space-between;
  gap:35px;min-width:310px;padding:22px 25px;
  background:linear-gradient(110deg,#5840a7,#9d56dc);
  color:#fff;text-decoration:none;
  font:700 10px Arial,sans-serif;letter-spacing:.15em;
  box-shadow:0 14px 40px #6944cb40;
  transition:transform .3s,box-shadow .3s;
}
.ac-city-button:hover {
  transform:translateY(-4px);box-shadow:0 18px 48px #6944cb70;
}
.ac-city-button span {font-size:22px}
.ac-city-empty {
  border:1px solid #ab97f933;padding:45px;color:#c7b9e6;
  text-align:center;
}
.ac-city-directory-body {margin:0;background:#090c1c}
.ac-city-directory {min-height:100vh;padding-top:35px;padding-bottom:100px}
.ac-city-back {
  display:inline-block;margin:20px 0 40px;color:#c4b2fa;
  text-decoration:none;font:600 10px Arial,sans-serif;letter-spacing:.16em;
}
.ac-city-back:hover {color:#fff}
.ac-city-directory .ac-city-heading {padding-top:75px}
@media(max-width:900px) {
  .ac-city-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
  .ac-city-heading {padding:75px 0 50px}
  .ac-city-tile {min-height:280px}
}
@media(max-width:640px) {
  .ac-city-edit,.ac-city-directory {padding:22px 16px 30px}
  .ac-city-top,.ac-city-bottom {font-size:7px;letter-spacing:.12em}
  .ac-city-top span:last-child {display:none}
  .ac-city-heading {display:block;padding:75px 0 40px}
  .ac-city-heading h2,.ac-city-heading h1 {font-size:clamp(55px,12vw,85px)}
  .ac-city-heading>p {margin-top:32px;font-size:13px}
  .ac-city-grid {grid-template-columns:1fr;gap:12px}
  .ac-city-tile {min-height:235px;padding:24px}
  .ac-city-tile-bottom strong {font-size:43px}
  .ac-city-end {display:block;padding:45px 0 55px}
  .ac-city-end strong {font-size:32px}
  .ac-city-button {margin-top:30px;min-width:0;width:100%;font-size:9px}
}
@media(prefers-reduced-motion:reduce) {
  .ac-city-tile,.ac-city-tile:after,.ac-city-button {transition:none!important}
}


/* =========================================================
   CHAPTER 04 — ARCHITECTURAL DESTINATION GALLERY V2
   ========================================================= */

.ac-city-architecture-v2 {
  background:
    radial-gradient(ellipse at 10% 30%,rgba(28,66,101,.32),transparent 48%),
    radial-gradient(ellipse at 92% 80%,rgba(78,37,108,.25),transparent 44%),
    #080d19;
}

.ac-city-architecture-v2 .ac-city-grid {
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:18px;
  align-items:stretch;
}

.ac-city-architecture-v2 .ac-city-tile {
  grid-column:span 4;
  position:relative;
  isolation:isolate;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-width:0;
  min-height:375px;
  padding:30px;
  overflow:hidden;
  border:0;
  background:linear-gradient(145deg,#26344e,#101928 75%);
  clip-path:polygon(0 0,87% 0,100% 14%,100% 100%,0 100%);
  box-shadow:none;
  transition:transform .55s cubic-bezier(.2,.8,.2,1),filter .55s;
}

.ac-city-architecture-v2 .ac-city-tile:nth-child(6n+1) {
  grid-column:span 5;
  min-height:425px;
  background:linear-gradient(140deg,#34435a,#152b3b 70%,#101723);
  clip-path:polygon(0 0,75% 0,100% 23%,100% 100%,0 100%);
}

.ac-city-architecture-v2 .ac-city-tile:nth-child(6n+2) {
  grid-column:span 3;
  margin-top:42px;
  background:linear-gradient(150deg,#47334f,#241e39 70%,#121625);
  clip-path:polygon(0 0,100% 0,100% 100%,0 100%,0 18%);
}

.ac-city-architecture-v2 .ac-city-tile:nth-child(6n+3) {
  grid-column:span 4;
  margin-top:20px;
  background:linear-gradient(150deg,#173c4c,#122738 65%,#101623);
  clip-path:polygon(0 0,100% 0,100% 80%,82% 100%,0 100%);
}

.ac-city-architecture-v2 .ac-city-tile:nth-child(6n+4) {
  grid-column:span 3;
  margin-top:-8px;
  background:linear-gradient(150deg,#263b58,#1a2542 70%,#111827);
  clip-path:polygon(0 0,100% 0,100% 100%,20% 100%,0 83%);
}

.ac-city-architecture-v2 .ac-city-tile:nth-child(6n+5) {
  grid-column:span 5;
  min-height:410px;
  background:linear-gradient(150deg,#3b3054,#231d3e 70%,#111525);
  clip-path:polygon(0 0,82% 0,100% 16%,100% 100%,0 100%);
}

.ac-city-architecture-v2 .ac-city-tile:nth-child(6n+6) {
  grid-column:span 4;
  margin-top:28px;
  background:linear-gradient(150deg,#23444c,#152b39 70%,#111925);
  clip-path:polygon(0 0,100% 0,100% 84%,85% 100%,0 100%);
}

.ac-city-architecture-v2 .ac-city-tile:before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    linear-gradient(115deg,transparent 18%,rgba(225,215,255,.11) 34%,transparent 51%),
    repeating-linear-gradient(90deg,transparent 0 67px,rgba(255,255,255,.025) 68px);
  transform:translateX(-18%);
  transition:transform .7s;
}

.ac-city-architecture-v2 .ac-city-tile:after {
  content:"";
  position:absolute;
  z-index:-1;
  width:110%;
  height:150%;
  right:-65%;
  top:-35%;
  border:0;
  border-left:1px solid rgba(205,210,245,.15);
  border-radius:0;
  transform:rotate(27deg);
  box-shadow:-24px 0 55px rgba(198,168,255,.07);
}

.ac-city-architecture-v2 .ac-city-light {
  position:absolute;
  z-index:-1;
  width:170%;
  height:90%;
  left:-40%;
  top:-25%;
  transform:rotate(-28deg);
  background:linear-gradient(90deg,transparent 35%,rgba(255,255,255,.08),transparent 70%);
  filter:blur(14px);
  transition:transform .8s;
}

.ac-city-architecture-v2 .ac-city-ghost {
  position:absolute;
  right:8%;
  top:17%;
  z-index:0;
  font:400 clamp(110px,16vw,230px)/1 Georgia,serif;
  letter-spacing:-.1em;
  color:rgba(255,255,255,.055);
  pointer-events:none;
  user-select:none;
}

.ac-city-architecture-v2 .ac-city-num {
  position:relative;
  z-index:2;
  color:#c5c3d9;
  font-size:9px;
  letter-spacing:.22em;
}

.ac-city-architecture-v2 .ac-city-tile-bottom {
  position:relative;
  z-index:2;
}

.ac-city-architecture-v2 .ac-city-tile-bottom small {
  color:#d2bbdf;
  font-size:10px;
}

.ac-city-architecture-v2 .ac-city-tile-bottom strong {
  font-size:clamp(34px,3.5vw,59px);
  line-height:1.02;
  letter-spacing:-.055em;
  text-shadow:0 4px 22px rgba(0,0,0,.22);
}

.ac-city-architecture-v2 .ac-city-tile-foot {
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:22px;
  margin-top:28px;
  border-top:1px solid rgba(255,255,255,.22);
  padding-top:18px;
  color:#e0dce8;
  font-size:9px;
}

.ac-city-architecture-v2 .ac-city-cta-line,
.ac-city-architecture-v2 .ac-city-button-line {
  display:inline-block;
  width:44px;
  height:1px;
  background:currentColor;
  transform-origin:left;
  transition:transform .45s;
}

.ac-city-architecture-v2 .ac-city-tile:hover {
  transform:translateY(-10px);
  filter:brightness(1.18);
  box-shadow:none;
}

.ac-city-architecture-v2 .ac-city-tile:hover:before {
  transform:translateX(15%);
}

.ac-city-architecture-v2 .ac-city-tile:hover .ac-city-light {
  transform:translateX(24%) rotate(-28deg);
}

.ac-city-architecture-v2 .ac-city-tile:hover .ac-city-cta-line {
  transform:scaleX(1.6);
}

.ac-city-architecture-v2 .ac-city-button {
  background:linear-gradient(110deg,#334e6d,#6a4b86);
}

.ac-city-architecture-v2 .ac-city-button span {
  font-size:inherit;
}

.ac-city-architecture-v2 .ac-city-button:hover .ac-city-button-line {
  transform:scaleX(1.35);
}

@media(max-width:1050px) {
  .ac-city-architecture-v2 .ac-city-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:15px;
  }
  .ac-city-architecture-v2 .ac-city-tile,
  .ac-city-architecture-v2 .ac-city-tile:nth-child(n) {
    grid-column:auto;
    margin-top:0;
    min-height:330px;
  }
}

@media(max-width:640px) {
  .ac-city-architecture-v2 .ac-city-grid {
    grid-template-columns:1fr;
    gap:14px;
  }
  .ac-city-architecture-v2 .ac-city-tile,
  .ac-city-architecture-v2 .ac-city-tile:nth-child(n) {
    min-height:290px;
    padding:25px;
  }
  .ac-city-architecture-v2 .ac-city-tile-bottom strong {
    font-size:clamp(37px,10vw,52px);
  }
  .ac-city-architecture-v2 .ac-city-ghost {
    font-size:160px;
  }
}

@media(prefers-reduced-motion:reduce) {
  .ac-city-architecture-v2 .ac-city-tile,
  .ac-city-architecture-v2 .ac-city-tile:before,
  .ac-city-architecture-v2 .ac-city-light,
  .ac-city-architecture-v2 .ac-city-cta-line {
    transition:none!important;
  }
}


/* =====================================================
   CHAPTER 05 — THE PRIVATE INVITATION
   Champagne / Black Plum / Editorial Gold
   ===================================================== */

.ac-invitation-v1 {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:105px 28px;
  background:
    radial-gradient(ellipse at 50% 0%,rgba(116,75,91,.25),transparent 48%),
    radial-gradient(ellipse at 85% 85%,rgba(129,94,54,.13),transparent 42%),
    #100e17;
  color:#f8efe7;
}

.ac-invitation-v1 *,
.ac-invitation-v1 *:before,
.ac-invitation-v1 *:after {
  box-sizing:border-box;
}

.ac-invitation-atmosphere {
  position:absolute;
  inset:-30%;
  z-index:-1;
  pointer-events:none;
  background:
    radial-gradient(ellipse at 45% 42%,rgba(213,161,99,.13),transparent 35%),
    radial-gradient(ellipse at 65% 65%,rgba(131,64,113,.12),transparent 40%);
  animation:acInvitationGlow 15s ease-in-out infinite alternate;
}

@keyframes acInvitationGlow {
  0% {transform:translate(-2%,2%) scale(1)}
  100% {transform:translate(3%,-3%) scale(1.12)}
}

.ac-invitation-shell {
  max-width:1350px;
  margin:auto;
  position:relative;
}

.ac-invitation-frame {
  position:relative;
  overflow:hidden;
  min-height:670px;
  padding:34px 45px 35px;
  border:1px solid rgba(215,174,117,.42);
  background:
    linear-gradient(135deg,rgba(52,37,49,.6),transparent 43%),
    linear-gradient(320deg,rgba(83,59,55,.32),transparent 48%),
    rgba(15,12,21,.66);
  box-shadow:
    inset 0 0 90px rgba(218,160,94,.035),
    0 35px 100px rgba(0,0,0,.2);
}

.ac-invitation-frame:before {
  content:"";
  position:absolute;
  inset:12px;
  border:1px solid rgba(212,168,112,.15);
  pointer-events:none;
}

.ac-invitation-frame:after {
  content:"";
  position:absolute;
  width:70%;
  height:1px;
  left:-80%;
  top:12px;
  background:linear-gradient(90deg,transparent,#edc996,transparent);
  animation:acInvitationTrace 10s linear infinite;
  pointer-events:none;
}

@keyframes acInvitationTrace {
  to {left:115%}
}

.ac-invitation-top,
.ac-invitation-bottom {
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  font:600 9px/1.6 Arial,sans-serif;
  letter-spacing:.23em;
  color:#bfa887;
}

.ac-invitation-top {
  padding-bottom:22px;
  border-bottom:1px solid rgba(214,171,114,.18);
}

.ac-invitation-bottom {
  padding-top:22px;
  border-top:1px solid rgba(214,171,114,.18);
}

.ac-invitation-content {
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  min-height:560px;
  padding:65px 20px;
}

.ac-invitation-eyebrow {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:17px;
  margin-bottom:34px;
  color:#d7b78c;
  font:600 10px/1.6 Arial,sans-serif;
  letter-spacing:.25em;
}

.ac-invitation-rule {
  display:block;
  width:34px;
  height:1px;
  background:linear-gradient(90deg,transparent,#c7a272);
}

.ac-invitation-rule:last-child {
  transform:rotate(180deg);
}

.ac-invitation-content h2 {
  max-width:1120px;
  margin:0;
  font-family:Georgia,serif;
  font-weight:400;
  font-size:clamp(49px,7.2vw,105px);
  line-height:1.04;
  letter-spacing:-.065em;
  color:#f8efe7;
  text-wrap:balance;
}

.ac-invitation-content h2 em {
  display:block;
  margin-top:12px;
  font-weight:400;
  color:#d8b587;
}

.ac-invitation-content p {
  max-width:570px;
  margin:36px 0 0;
  color:#c7bac1;
  font:400 15px/1.95 Arial,sans-serif;
}

.ac-invitation-actions {
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:14px;
  margin-top:43px;
}

.ac-invitation-primary,
.ac-invitation-secondary {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:28px;
  min-height:59px;
  padding:19px 27px;
  text-decoration:none;
  font:700 10px/1.4 Arial,sans-serif;
  letter-spacing:.15em;
  transition:
    transform .35s ease,
    background .35s ease,
    box-shadow .35s ease,
    border-color .35s ease;
}

.ac-invitation-primary {
  background:linear-gradient(110deg,#e2bd8d,#bd9160);
  color:#20171b;
  box-shadow:0 13px 36px rgba(190,137,80,.15);
}

.ac-invitation-secondary {
  border:1px solid rgba(217,180,134,.48);
  color:#f1dfca;
  background:rgba(255,255,255,.025);
}

.ac-invitation-action-line {
  display:block;
  width:32px;
  height:1px;
  background:#352419;
  transition:transform .35s ease;
  transform-origin:left;
}

.ac-invitation-primary:hover {
  transform:translateY(-4px);
  box-shadow:0 19px 45px rgba(190,137,80,.28);
}

.ac-invitation-primary:hover .ac-invitation-action-line {
  transform:scaleX(1.35);
}

.ac-invitation-secondary:hover {
  transform:translateY(-4px);
  background:rgba(218,181,135,.1);
  border-color:#e2bd8d;
}

.ac-invitation-primary:focus-visible,
.ac-invitation-secondary:focus-visible {
  outline:2px solid #f6d7a8;
  outline-offset:5px;
}

@media(max-width:900px) {
  .ac-invitation-v1 {padding:75px 20px}
  .ac-invitation-frame {padding:28px;min-height:600px}
  .ac-invitation-content {min-height:490px}
}

@media(max-width:640px) {
  .ac-invitation-v1 {padding:50px 14px}
  .ac-invitation-frame {padding:20px 16px;min-height:0}
  .ac-invitation-frame:before {inset:7px}
  .ac-invitation-top,
  .ac-invitation-bottom {
    font-size:7px;
    letter-spacing:.12em;
  }
  .ac-invitation-top span:last-child,
  .ac-invitation-bottom span:last-child {
    display:none;
  }
  .ac-invitation-content {
    min-height:520px;
    padding:75px 8px;
  }
  .ac-invitation-eyebrow {
    font-size:8px;
    letter-spacing:.13em;
    gap:9px;
    margin-bottom:27px;
  }
  .ac-invitation-rule {width:15px}
  .ac-invitation-content h2 {
    font-size:clamp(41px,10vw,63px);
    line-height:1.07;
  }
  .ac-invitation-content h2 em {margin-top:15px}
  .ac-invitation-content p {
    margin-top:28px;
    font-size:13px;
    line-height:1.85;
  }
  .ac-invitation-actions {
    width:100%;
    flex-direction:column;
    gap:12px;
    margin-top:34px;
  }
  .ac-invitation-primary,
  .ac-invitation-secondary {
    width:100%;
    min-height:58px;
    padding:18px 14px;
    font-size:9px;
  }
}

@media(prefers-reduced-motion:reduce) {
  .ac-invitation-atmosphere,
  .ac-invitation-frame:after {
    animation:none!important;
  }
  .ac-invitation-primary,
  .ac-invitation-secondary,
  .ac-invitation-action-line {
    transition:none!important;
  }
}


/* ==========================================================
   CHAPTER 05 — ARCHITECTURAL MIDNIGHT V2
   ========================================================== */

.ac-invitation-midnight-v2 {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:110px 0 65px;
  background:
    radial-gradient(ellipse at 15% 20%,rgba(30,59,93,.3),transparent 50%),
    radial-gradient(ellipse at 95% 85%,rgba(72,38,102,.22),transparent 48%),
    #09111f;
  color:#f6f2ff;
}

.ac-invitation-midnight-v2 *,
.ac-invitation-midnight-v2 *:before,
.ac-invitation-midnight-v2 *:after {
  box-sizing:border-box;
}

.ac-midnight-shell {
  max-width:1530px;
  margin:auto;
  padding:0 5.1%;
}

.ac-midnight-topline,
.ac-midnight-footer {
  display:flex;
  justify-content:space-between;
  gap:20px;
  color:#b5a0e9;
  font:700 10px/1.5 Arial,sans-serif;
  letter-spacing:.24em;
}

.ac-midnight-topline {
  padding-bottom:24px;
  border-bottom:1px solid rgba(170,150,230,.15);
}

.ac-midnight-intro {
  display:grid;
  grid-template-columns:minmax(0,2fr) minmax(250px,.65fr);
  align-items:end;
  gap:65px;
  margin:75px 0 80px;
}

.ac-midnight-kicker {
  display:block;
  margin-bottom:26px;
  color:#b9a3ee;
  font:700 11px/1.5 Arial,sans-serif;
  letter-spacing:.23em;
}

.ac-midnight-heading h2 {
  margin:0;
  max-width:1050px;
  color:#f7f2ff;
  font:400 clamp(68px,8.8vw,148px)/.94 Georgia,serif;
  letter-spacing:-.073em;
}

.ac-midnight-heading h2 em {
  color:#b69af2;
  font-weight:400;
}

.ac-midnight-heading h2 > span {
  display:block;
  color:transparent;
  -webkit-text-stroke:1px rgba(190,166,241,.85);
}

.ac-midnight-description {
  padding-bottom:14px;
}

.ac-midnight-description > span {
  color:#b5a0e9;
  font:700 10px/1.5 Arial,sans-serif;
  letter-spacing:.19em;
}

.ac-midnight-description p {
  max-width:320px;
  margin:18px 0 0;
  color:#c5c2d5;
  font:400 16px/2 Arial,sans-serif;
}

.ac-midnight-stage {
  position:relative;
  isolation:isolate;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-height:490px;
  padding:38px 45px;
  overflow:hidden;
  background:
    linear-gradient(125deg,rgba(76,96,132,.42),transparent 49%),
    linear-gradient(320deg,rgba(75,45,108,.44),transparent 60%),
    #182a40;
  clip-path:polygon(0 0,92% 0,100% 19%,100% 100%,0 100%);
}

.ac-midnight-stage:before {
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  background:
    linear-gradient(115deg,transparent 15%,rgba(226,218,255,.09) 35%,transparent 55%),
    repeating-linear-gradient(90deg,transparent 0 90px,rgba(255,255,255,.018) 91px);
  transition:transform .7s ease;
}

.ac-midnight-stage:after {
  content:"";
  position:absolute;
  z-index:-1;
  width:70%;
  height:150%;
  top:-30%;
  right:-37%;
  border-left:1px solid rgba(206,188,244,.24);
  transform:rotate(27deg);
  pointer-events:none;
}

.ac-midnight-stage-glow {
  position:absolute;
  z-index:-1;
  width:90%;
  height:140%;
  left:-50%;
  top:-30%;
  background:radial-gradient(ellipse,rgba(172,150,244,.14),transparent 68%);
  transition:transform .7s ease;
  pointer-events:none;
}

.ac-midnight-stage:hover:before {
  transform:translateX(8%);
}

.ac-midnight-stage:hover .ac-midnight-stage-glow {
  transform:translateX(20%);
}

.ac-midnight-stage-number {
  position:absolute;
  z-index:-1;
  right:10%;
  top:10%;
  color:rgba(216,210,255,.055);
  font:400 clamp(180px,25vw,390px)/1 Georgia,serif;
  letter-spacing:-.12em;
  pointer-events:none;
  user-select:none;
}

.ac-midnight-stage-top,
.ac-midnight-stage-bottom {
  display:flex;
  justify-content:space-between;
  gap:20px;
  color:#c9c0df;
  font:700 10px/1.5 Arial,sans-serif;
  letter-spacing:.2em;
}

.ac-midnight-stage-body {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(270px,360px);
  align-items:end;
  gap:50px;
  margin:70px 0 65px;
}

.ac-midnight-stage-label {
  color:#c5b2ed;
  font:700 10px/1.5 Arial,sans-serif;
  letter-spacing:.2em;
}

.ac-midnight-stage-copy h3 {
  max-width:780px;
  margin:18px 0 20px;
  color:#f8f3ff;
  font:400 clamp(50px,6.5vw,105px)/1.02 Georgia,serif;
  letter-spacing:-.065em;
}

.ac-midnight-stage-copy h3 em {
  color:#b9a1f0;
  font-weight:400;
}

.ac-midnight-stage-copy p {
  max-width:490px;
  margin:0;
  color:#d0cbde;
  font:400 15px/1.9 Arial,sans-serif;
}

.ac-midnight-stage-actions {
  display:flex;
  flex-direction:column;
  gap:13px;
}

.ac-midnight-primary,
.ac-midnight-secondary {
  display:flex;
  justify-content:center;
  align-items:center;
  min-height:63px;
  padding:20px 22px;
  text-decoration:none;
  font:700 11px/1.4 Arial,sans-serif;
  letter-spacing:.12em;
  text-align:center;
  transition:transform .35s ease,background .35s ease;
}

.ac-midnight-primary {
  gap:20px;
  color:#16172a;
  background:#bda7f0;
}

.ac-midnight-secondary {
  color:#f0eafa;
  border:1px solid rgba(205,190,243,.45);
  background:rgba(255,255,255,.025);
}

.ac-midnight-button-line {
  display:inline-block;
  flex-shrink:0;
  width:25px;
  height:1px;
  background:currentColor;
  transition:transform .35s;
  transform-origin:left;
}

.ac-midnight-primary:hover,
.ac-midnight-secondary:hover {
  transform:translateY(-4px);
}

.ac-midnight-primary:hover {
  background:#d5c5ff;
}

.ac-midnight-secondary:hover {
  background:rgba(205,190,243,.12);
}

.ac-midnight-primary:hover .ac-midnight-button-line {
  transform:scaleX(1.5);
}

.ac-midnight-primary:focus-visible,
.ac-midnight-secondary:focus-visible {
  outline:3px solid #e0d4ff;
  outline-offset:4px;
}

.ac-midnight-footer {
  margin-top:42px;
  padding-top:22px;
  border-top:1px solid rgba(170,150,230,.15);
}

@media(max-width:1050px) {
  .ac-midnight-intro {
    grid-template-columns:1fr;
    gap:30px;
  }
  .ac-midnight-description p {max-width:600px}
  .ac-midnight-stage-body {
    grid-template-columns:1fr;
    gap:35px;
  }
  .ac-midnight-stage-actions {max-width:450px}
}

@media(max-width:640px) {
  .ac-invitation-midnight-v2 {padding:65px 0 45px}
  .ac-midnight-shell {padding:0 20px}
  .ac-midnight-topline,
  .ac-midnight-footer {
    font-size:8px;
    letter-spacing:.12em;
  }
  .ac-midnight-topline span:last-child,
  .ac-midnight-footer span:last-child {
    display:none;
  }
  .ac-midnight-intro {margin:50px 0 45px}
  .ac-midnight-kicker {font-size:9px}
  .ac-midnight-heading h2 {
    font-size:clamp(53px,12.5vw,82px);
    line-height:1.02;
    overflow-wrap:anywhere;
  }
  .ac-midnight-description p {font-size:14px}
  .ac-midnight-stage {
    min-height:0;
    padding:27px 22px;
    clip-path:polygon(0 0,84% 0,100% 9%,100% 100%,0 100%);
  }
  .ac-midnight-stage-top,
  .ac-midnight-stage-bottom {
    font-size:8px;
    letter-spacing:.12em;
  }
  .ac-midnight-stage-top span:last-child,
  .ac-midnight-stage-bottom span:last-child {
    display:none;
  }
  .ac-midnight-stage-body {margin:85px 0 60px}
  .ac-midnight-stage-copy h3 {
    font-size:clamp(45px,11vw,70px);
    overflow-wrap:anywhere;
  }
  .ac-midnight-stage-copy p {font-size:13px}
  .ac-midnight-primary,
  .ac-midnight-secondary {
    min-height:59px;
    font-size:9px;
    padding:18px 12px;
  }
  .ac-midnight-stage-number {
    font-size:180px;
    top:18%;
    right:15%;
  }
}

@media(prefers-reduced-motion:reduce) {
  .ac-midnight-stage:before,
  .ac-midnight-stage-glow,
  .ac-midnight-primary,
  .ac-midnight-secondary,
  .ac-midnight-button-line {
    transition:none!important;
  }
}


/* CATEGORY SHARED HEADER OFFSET — 20261103 */
/*
 * The glass header is fixed and outside document flow.
 * Reserve its space before the entire hero, not inside
 * the hero copy or its artwork.
 */
.ac-collection-page main > .ac-afterdark {
    padding-top: 175px;
}

@media (max-width: 650px) {
    .ac-collection-page main > .ac-afterdark {
        padding-top: 165px;
    }
}


/* CATEGORY EDITORIAL HYPERLINK STYLING V1 */

/* Links inside editorial paragraphs only */
.ac-collection-page main p a[href] {
    color: #f0a8da;
    font-weight: 600;
    text-decoration-line: underline;
    text-decoration-color: rgba(240,168,218,.65);
    text-decoration-thickness: 1px;
    text-underline-offset: 4px;
    transition:
        color .22s ease,
        text-decoration-color .22s ease,
        text-shadow .22s ease;
}

.ac-collection-page main p a[href]:hover,
.ac-collection-page main p a[href]:focus-visible {
    color: #ffe1f3;
    text-decoration-color: #ffe1f3;
    text-shadow: 0 0 12px rgba(240,168,218,.35);
}

.ac-collection-page main p a[href]:focus-visible {
    outline: 2px solid #f0a8da;
    outline-offset: 4px;
    border-radius: 2px;
}

@media (prefers-reduced-motion: reduce) {
    .ac-collection-page main p a[href] {
        transition: none;
    }
}
