@font-face{
    font-family:"BambiPixel";
    src:url("/assets/fonts/pc-9800.woff2") format("woff2");
    font-display:swap;
}

:root{
    --pink-50:#fff8fb;
    --pink-100:#ffeef5;
    --pink-200:#ffd5e6;
    --pink-300:#ffb5d2;
    --pink-400:#ff8fbd;
    --pink-500:#f864a4;
    --pink-600:#dc3f85;
    --berry:#9e376c;
    --ink:#513746;
    --muted:#806775;
    --white:#ffffff;
    --cream:#fffdf9;
    --green:#55a778;
    --line:rgba(183,84,128,.16);
    --shadow:0 22px 60px rgba(151,72,109,.13);
    --shadow-small:0 12px 32px rgba(151,72,109,.10);
    --radius-xl:34px;
    --radius-lg:25px;
    --radius-md:18px;
    --shell:min(1160px, calc(100% - 40px));
}

*,*::before,*::after{box-sizing:border-box}

html{
    scroll-behavior:smooth;
    scroll-padding-top:90px;
    background:var(--pink-50);
}

body{
    margin:0;
    min-width:320px;
    color:var(--ink);
    background:
        radial-gradient(circle at 8% 5%, rgba(255,191,217,.38), transparent 27rem),
        radial-gradient(circle at 92% 16%, rgba(255,222,235,.65), transparent 30rem),
        linear-gradient(180deg, #fffafb 0%, #fff 32%, #fff8fb 100%);
    font-family:"Trebuchet MS","Arial Rounded MT Bold",Arial,sans-serif;
    font-size:16px;
    line-height:1.65;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
}

body::before{
    content:"";
    position:fixed;
    inset:0;
    pointer-events:none;
    z-index:-2;
    opacity:.38;
    background-image:radial-gradient(rgba(218,92,150,.17) .8px, transparent .8px);
    background-size:18px 18px;
    mask-image:linear-gradient(to bottom, #000, transparent 70%);
}

button,a{font:inherit}
button{color:inherit}
a{color:inherit}
img{max-width:100%;height:auto}

::selection{background:var(--pink-200);color:var(--berry)}

:focus-visible{
    outline:3px solid rgba(220,63,133,.45);
    outline-offset:4px;
}

.skip-link{
    position:fixed;
    top:10px;
    left:10px;
    z-index:1000;
    transform:translateY(-150%);
    padding:10px 15px;
    border-radius:12px;
    background:var(--ink);
    color:#fff;
    text-decoration:none;
    transition:transform .2s ease;
}

.skip-link:focus{transform:translateY(0)}

.section-shell{width:var(--shell);margin-inline:auto}
.section-space{padding-top:110px;padding-bottom:110px}

.ambient{
    position:absolute;
    z-index:-1;
    border-radius:50%;
    filter:blur(3px);
    pointer-events:none;
}

.ambient-one{
    width:280px;
    height:280px;
    top:280px;
    left:-190px;
    background:rgba(255,154,195,.2);
}

.ambient-two{
    width:420px;
    height:420px;
    top:640px;
    right:-310px;
    background:rgba(255,213,230,.46);
}

.site-header{
    position:sticky;
    top:0;
    z-index:100;
    padding:14px 0;
    background:rgba(255,250,252,.82);
    border-bottom:1px solid rgba(206,105,151,.1);
    backdrop-filter:blur(18px) saturate(140%);
    -webkit-backdrop-filter:blur(18px) saturate(140%);
}

.header-inner{
    width:var(--shell);
    margin-inline:auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:28px;
}

.brand{
    display:inline-flex;
    align-items:center;
    gap:11px;
    text-decoration:none;
    min-width:max-content;
}

.brand-mark{
    display:grid;
    place-items:center;
    width:43px;
    height:43px;
    border-radius:15px;
    background:linear-gradient(145deg,#fff7eb,#ffd8a5);
    box-shadow:0 9px 22px rgba(220,63,133,.24),inset 0 1px rgba(255,255,255,.5);
    transform:rotate(-4deg);
}
.brand-mark img{display:block;width:32px;height:32px;image-rendering:pixelated;filter:drop-shadow(0 3px 4px rgba(112,62,31,.18))}

.brand-copy{display:flex;flex-direction:column;line-height:1.05}
.brand-copy strong{font-size:19px;letter-spacing:-.4px}
.brand-copy small{margin-top:5px;color:var(--pink-600);font-size:10px;text-transform:uppercase;letter-spacing:1.6px;font-weight:800}

.main-nav{display:flex;align-items:center;gap:7px}
.main-nav a{
    padding:8px 12px;
    border-radius:999px;
    color:#765968;
    text-decoration:none;
    font-size:14px;
    font-weight:700;
    transition:color .2s ease,background .2s ease;
}
.main-nav a:hover{color:var(--pink-600);background:var(--pink-100)}

.header-cta{
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:10px 17px;
    border-radius:999px;
    color:#fff;
    background:var(--ink);
    text-decoration:none;
    font-size:13px;
    font-weight:800;
    box-shadow:0 8px 20px rgba(81,55,70,.16);
    transition:transform .2s ease,box-shadow .2s ease;
}

.header-cta:hover{transform:translateY(-2px);box-shadow:0 11px 24px rgba(81,55,70,.22)}

.hero{
    width:min(1420px,calc(100% - 40px));
    margin-inline:auto;
    padding-top:48px;
    padding-bottom:76px;
}

.eyebrow,.kicker{
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:var(--pink-600);
    font-size:12px;
    line-height:1.3;
    font-weight:900;
    letter-spacing:1.8px;
    text-transform:uppercase;
}

.eyebrow{
    padding:8px 13px;
    border:1px solid var(--pink-200);
    border-radius:999px;
    background:rgba(255,255,255,.7);
    box-shadow:0 7px 22px rgba(151,72,109,.07);
}

.hero h1{
    margin:19px 0 18px;
    max-width:760px;
    font-size:clamp(43px,5vw,68px);
    line-height:1.02;
    letter-spacing:-3.4px;
    text-wrap:balance;
}

.hero h1 span{
    display:block;
    color:var(--pink-500);
    text-shadow:0 5px 0 rgba(255,213,230,.55);
}

.hero-lead{
    max-width:760px;
    margin:0;
    color:var(--muted);
    font-size:17px;
    line-height:1.8;
}

.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}

.button{
    display:inline-flex;
    min-height:52px;
    align-items:center;
    justify-content:center;
    gap:9px;
    padding:13px 21px;
    border:0;
    border-radius:16px;
    text-decoration:none;
    font-size:14px;
    font-weight:900;
    cursor:pointer;
    transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
}

.button:hover{transform:translateY(-3px)}
.button-primary{color:#fff;background:linear-gradient(145deg,var(--pink-400),var(--pink-600));box-shadow:0 13px 28px rgba(220,63,133,.22),inset 0 1px rgba(255,255,255,.35)}
.button-primary:hover{box-shadow:0 17px 34px rgba(220,63,133,.28),inset 0 1px rgba(255,255,255,.35)}
.button-ghost{color:var(--berry);background:#fff;border:1px solid var(--pink-200);box-shadow:0 10px 26px rgba(151,72,109,.08)}
.button-ghost:hover{background:var(--pink-50)}

.hero-points{
    display:flex;
    flex-wrap:wrap;
    gap:17px;
    justify-content:flex-end;
    margin:21px 0 0;
    padding:0;
    list-style:none;
    color:#755f6b;
    font-size:12px;
    font-weight:800;
}

.hero-points li{display:flex;align-items:center;gap:6px}
.hero-points span{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#e9f7ee;color:var(--green);font-size:10px}

.hero-showcase{
    position:relative;
    isolation:isolate;
    overflow:hidden;
    border:9px solid #fff;
    border-radius:38px;
    background:#ffdce9;
    box-shadow:0 30px 75px rgba(142,65,101,.19),0 0 0 1px rgba(210,116,158,.13);
}

.hero-showcase::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:2;
    border-radius:28px;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.32);
    pointer-events:none;
}

.hero-showcase img{
    display:block;
    width:100%;
    height:auto;
    aspect-ratio:1200/630;
    object-fit:cover;
}

.hero-intro{
    display:grid;
    grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);
    gap:46px;
    align-items:end;
    padding:42px 22px 0;
}
.hero-join-panel{display:flex;flex-direction:column;align-items:flex-end;padding-bottom:4px}
.hero-join-panel .hero-actions{justify-content:flex-end;margin-top:0}

.quick-strip{border-block:1px solid var(--line);background:rgba(255,247,251,.72)}
.quick-strip-inner{width:var(--shell);margin-inline:auto;display:grid;grid-template-columns:repeat(4,1fr);padding:23px 0}
.quick-strip-inner>div{display:flex;flex-direction:column;align-items:center;padding:4px 20px;text-align:center;border-right:1px solid var(--line)}
.quick-strip-inner>div:last-child{border-right:0}
.quick-strip strong{font-size:14px}.quick-strip span{margin-top:2px;color:var(--muted);font-size:11px}

.section-heading{max-width:720px;margin:0 auto 48px;text-align:center}
.section-heading h2,.rules-intro h2,.faq-heading h2,.story-card h2,.final-cta h2{
    margin:12px 0 15px;
    font-size:clamp(35px,4.3vw,54px);
    line-height:1.08;
    letter-spacing:-2.3px;
}
.section-heading p,.rules-intro>p,.faq-heading>p,.final-cta p{margin:0;color:var(--muted);line-height:1.75}

.edition-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.edition-card{
    position:relative;
    overflow:hidden;
    padding:30px;
    border:1px solid var(--line);
    border-radius:var(--radius-xl);
    background:rgba(255,255,255,.92);
    box-shadow:var(--shadow-small);
}
.edition-card::after{content:"";position:absolute;width:190px;height:190px;right:-90px;top:-110px;border-radius:50%;background:var(--pink-100);z-index:0}
.bedrock-card::after{background:#fff0e9}
.edition-card>*{position:relative;z-index:1}
.edition-topline{display:flex;align-items:center;gap:15px}
.edition-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:18px;background:var(--pink-100);font-size:24px}
.bedrock-card .edition-icon{background:#fff0e9}
.edition-label{display:block;color:var(--pink-600);font-size:10px;line-height:1.3;text-transform:uppercase;letter-spacing:1.5px;font-weight:900}
.edition-topline h3{margin:4px 0 0;font-size:25px;line-height:1.2}
.edition-description{margin:20px 0;color:var(--muted);font-size:14px}

.address-box,.port-box{display:flex;flex-direction:column;justify-content:center;min-height:76px;padding:13px 17px;border:1px solid var(--pink-200);border-radius:16px;background:var(--pink-50);text-align:left}
.address-box span,.port-box span{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:1.2px;font-weight:800}
.address-box strong,.port-box strong{margin-top:4px;color:var(--berry);font-size:17px;line-height:1.2;letter-spacing:.2px;word-break:break-word}
.bedrock-addresses{display:grid;grid-template-columns:1fr 105px;gap:10px}
.port-box{border-color:#f2d9cc;background:#fffaf7;cursor:pointer}
.port-box:hover{background:#fff4ee}

.copy-button{
    width:100%;
    min-height:50px;
    margin-top:13px;
    border:0;
    border-radius:15px;
    color:#fff;
    background:var(--ink);
    font-size:13px;
    font-weight:900;
    cursor:pointer;
    box-shadow:0 10px 24px rgba(81,55,70,.15);
    transition:transform .2s ease,background .2s ease;
}
.copy-button:hover{transform:translateY(-2px);background:#664557}
.copy-icon{margin-right:7px;font-size:17px;vertical-align:-1px}
.copy-hint{display:flex;align-items:center;justify-content:center;gap:8px;margin:24px 0 0;color:var(--muted);font-size:12px;text-align:center}

.features-section{background:linear-gradient(180deg,#fff8fb 0%,#fff3f8 100%);border-block:1px solid var(--line)}
.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.feature-card{position:relative;min-height:260px;padding:27px;border:1px solid rgba(206,105,151,.12);border-radius:var(--radius-lg);background:rgba(255,255,255,.78);box-shadow:0 8px 28px rgba(151,72,109,.06);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.feature-card:hover{transform:translateY(-6px);box-shadow:0 18px 38px rgba(151,72,109,.11);border-color:var(--pink-200)}
.feature-number{position:absolute;right:20px;top:17px;color:#efd6e1;font-size:22px;font-weight:900}
.feature-emoji{display:grid;place-items:center;width:50px;height:50px;border-radius:17px;background:var(--pink-100);font-size:23px}
.feature-card:nth-child(2n) .feature-emoji{background:#fff0e8}
.feature-card:nth-child(3n) .feature-emoji{background:#eef9f1}
.feature-card h3{margin:20px 0 8px;font-size:19px}
.feature-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.75}

.gallery{display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:repeat(2,260px);gap:18px}
.gallery-item{position:relative;overflow:hidden;padding:0;border:0;border-radius:var(--radius-lg);background:#f7e3ec;cursor:zoom-in;box-shadow:var(--shadow-small)}
.gallery-wide{grid-row:1/3}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.8,.2,1),filter .4s ease}
.gallery-item::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 44%,rgba(43,21,32,.7));pointer-events:none}
.gallery-item:hover img{transform:scale(1.045);filter:saturate(1.07)}
.gallery-caption{position:absolute;z-index:2;left:22px;right:20px;bottom:18px;display:flex;flex-direction:column;color:#fff;text-align:left;line-height:1.25}
.gallery-caption strong{font-size:16px}.gallery-caption small{margin-top:5px;font-size:10px;text-transform:uppercase;letter-spacing:1.15px;opacity:.8}

.rules-section{background:linear-gradient(145deg,#4c3442,#664154);color:#fff}
.rules-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:82px;align-items:start}
.rules-intro{position:sticky;top:125px}
.rules-intro .kicker{color:var(--pink-300)}
.rules-intro h2{color:#fff}
.rules-intro>p{color:#ddcbd4}
.rules-note{display:flex;align-items:center;gap:10px;margin-top:26px;padding:14px 16px;border:1px solid rgba(255,255,255,.13);border-radius:16px;color:#f7d8e6;background:rgba(255,255,255,.06);font-size:12px}
.rules-note span{font-size:22px;color:var(--pink-300)}
.rules-list{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.rules-list li{display:grid;grid-template-columns:51px 1fr;gap:18px;padding:24px;border:1px solid rgba(255,255,255,.11);border-radius:20px;background:rgba(255,255,255,.065);transition:background .2s ease,border-color .2s ease,transform .2s ease}
.rules-list li:hover{transform:translateX(5px);border-color:rgba(255,181,210,.27);background:rgba(255,255,255,.09)}
.rules-list li>span{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:rgba(255,181,210,.14);color:var(--pink-300);font-size:13px;font-weight:900}
.rules-list h3{margin:0 0 4px;font-size:16px}
.rules-list p{margin:0;color:#d5c2cb;font-size:12px;line-height:1.65}

.step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.step-card{position:relative;padding:29px 26px;border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;box-shadow:0 10px 32px rgba(151,72,109,.07)}
.step-card>span{display:grid;place-items:center;width:42px;height:42px;margin-bottom:22px;border-radius:50%;color:#fff;background:linear-gradient(145deg,var(--pink-400),var(--pink-600));font-size:14px;font-weight:900;box-shadow:0 8px 18px rgba(220,63,133,.2)}
.step-card h3{margin:0 0 8px;font-size:19px}.step-card p{margin:0;color:var(--muted);font-size:13px}.step-card strong{color:var(--berry)}

.faq-section{border-block:1px solid var(--line);background:#fff8fb}
.faq-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:80px;align-items:start}
.faq-heading{position:sticky;top:125px}
.faq-heading h2{font-size:clamp(34px,4vw,49px)}
.text-link{display:inline-flex;align-items:center;gap:8px;margin-top:23px;color:var(--pink-600);font-size:13px;font-weight:900;text-decoration:none}
.text-link:hover{text-decoration:underline}
.faq-list{display:grid;gap:11px}
.faq-list details{border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 7px 23px rgba(151,72,109,.05)}
.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 21px;cursor:pointer;font-size:14px;font-weight:900;list-style:none}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary span{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:50%;color:var(--pink-600);background:var(--pink-100);font-size:19px;transition:transform .2s ease}
.faq-list details[open] summary span{transform:rotate(45deg)}
.faq-list details p{margin:0;padding:0 21px 21px;color:var(--muted);font-size:13px;line-height:1.75}
.faq-list details strong{color:var(--berry)}

.seo-story{padding-top:85px}
.story-card{position:relative;display:grid;grid-template-columns:140px 1fr;gap:35px;align-items:center;padding:45px;border:1px solid var(--line);border-radius:var(--radius-xl);background:linear-gradient(145deg,#fff,#fff4f8);box-shadow:var(--shadow-small)}
.story-decor{display:grid;place-items:center;width:120px;height:120px;border:7px solid #fff;border-radius:36px;background:var(--pink-100);font-size:55px;box-shadow:0 13px 32px rgba(151,72,109,.12);transform:rotate(-4deg)}
.story-card h2{font-size:clamp(31px,3.8vw,46px)}
.story-card p{margin:10px 0 0;color:var(--muted);font-size:14px}
.story-card strong{color:var(--berry)}

.final-cta-card{position:relative;overflow:hidden;padding:70px 25px;border-radius:40px;background:linear-gradient(145deg,#fff0f6,#ffe0ec);text-align:center;box-shadow:var(--shadow-small)}
.final-cta-card::before,.final-cta-card::after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;background:rgba(255,255,255,.4)}
.final-cta-card::before{top:-130px;left:-80px}.final-cta-card::after{right:-80px;bottom:-140px}
.final-cta-card>*{position:relative;z-index:1}
.final-symbols{margin-bottom:9px;color:var(--pink-500);font-size:25px;letter-spacing:9px}
.final-cta-card .button{margin-top:25px}

.site-footer{padding:42px 0 110px;border-top:1px solid var(--line);background:#fff}
.footer-inner{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:start}
.footer-brand{font-size:20px;font-weight:900;text-decoration:none}.footer-inner>div:first-child p{margin:5px 0 0;color:var(--muted);font-size:12px}
.footer-links{display:flex;gap:18px;flex-wrap:wrap}.footer-links a{color:var(--muted);font-size:12px;font-weight:800;text-decoration:none}.footer-links a:hover{color:var(--pink-600)}
.legal{grid-column:1/-1;margin:12px 0 0;padding-top:20px;border-top:1px solid var(--line);color:#a18d97;font-size:10px;line-height:1.6}

.toast{
    position:fixed;
    left:50%;
    bottom:28px;
    z-index:300;
    display:flex;
    align-items:center;
    gap:10px;
    min-width:240px;
    padding:13px 17px;
    border:1px solid rgba(255,255,255,.16);
    border-radius:16px;
    color:#fff;
    background:rgba(73,47,62,.94);
    box-shadow:0 15px 45px rgba(54,29,42,.28);
    backdrop-filter:blur(10px);
    transform:translate(-50%,120px);
    opacity:0;
    pointer-events:none;
    transition:transform .3s cubic-bezier(.2,.8,.2,1),opacity .3s ease;
    font-size:13px;
    font-weight:800;
}
.toast.is-visible{transform:translate(-50%,0);opacity:1}
.toast-icon{display:grid;place-items:center;width:27px;height:27px;border-radius:9px;background:var(--pink-500);font-size:19px}

.lightbox{width:min(1100px,calc(100% - 30px));max-width:none;padding:0;border:0;border-radius:24px;background:#291c23;box-shadow:0 30px 100px rgba(39,18,29,.45);overflow:hidden}
.lightbox::backdrop{background:rgba(38,20,29,.82);backdrop-filter:blur(9px)}
.lightbox img{display:block;width:100%;max-height:82vh;object-fit:contain}
.lightbox-close{position:absolute;top:13px;right:13px;z-index:2;display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(255,255,255,.3);border-radius:50%;color:#fff;background:rgba(36,18,27,.65);font-size:25px;line-height:1;cursor:pointer;backdrop-filter:blur(8px)}

.mobile-join{display:none}

.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1)}
.reveal.is-visible{opacity:1;transform:translateY(0)}

@media (max-width:1020px){
    :root{--shell:min(100% - 32px,880px)}
    .main-nav{display:none}
    .hero{padding-top:38px;text-align:center}
    .hero-intro{grid-template-columns:1fr;gap:25px;padding:35px 15px 0}
    .hero-copy{display:flex;flex-direction:column;align-items:center}
    .hero h1{max-width:800px}
    .hero-lead{max-width:720px}
    .hero-join-panel{align-items:center}
    .hero-join-panel .hero-actions,.hero-points{justify-content:center}
    .feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .rules-layout,.faq-layout{grid-template-columns:1fr;gap:42px}
    .rules-intro,.faq-heading{position:static;text-align:center;max-width:720px;margin-inline:auto}
    .rules-note{justify-content:center}
}

@media (max-width:760px){
    :root{--shell:calc(100% - 28px);--radius-xl:27px;--radius-lg:21px}
    .section-space{padding-top:80px;padding-bottom:80px}
    .site-header{padding:10px 0}
    .brand-mark{width:39px;height:39px;border-radius:13px}
    .header-cta{padding:9px 14px;font-size:12px}
    .header-cta span{display:none}
    .hero{width:calc(100% - 20px);padding-top:24px;padding-bottom:62px}
    .hero-showcase{border-width:6px;border-radius:27px}
    .hero-intro{padding:30px 4px 0}
    .hero h1{font-size:clamp(39px,11vw,57px);letter-spacing:-2.8px}
    .hero-lead{font-size:15px;line-height:1.75}
    .hero-actions{width:100%;justify-content:center}
    .hero-points{justify-content:center}
    .quick-strip-inner{grid-template-columns:repeat(2,1fr);gap:0}
    .quick-strip-inner>div{padding:13px 8px;border-bottom:1px solid var(--line)}
    .quick-strip-inner>div:nth-child(2){border-right:0}
    .quick-strip-inner>div:nth-child(n+3){border-bottom:0}
    .section-heading{margin-bottom:37px}
    .section-heading h2,.rules-intro h2,.faq-heading h2,.story-card h2,.final-cta h2{font-size:clamp(33px,10vw,45px);letter-spacing:-1.8px}
    .edition-grid{grid-template-columns:1fr}
    .edition-card{padding:24px}
    .feature-grid{grid-template-columns:1fr}
    .feature-card{min-height:0}
    .gallery{grid-template-columns:1fr;grid-template-rows:330px 230px 230px}
    .gallery-wide{grid-row:auto}
    .rules-list li{grid-template-columns:44px 1fr;padding:20px;gap:14px}
    .rules-list li>span{width:42px;height:42px}
    .step-grid{grid-template-columns:1fr}
    .story-card{grid-template-columns:1fr;padding:30px;text-align:center}
    .story-decor{margin-inline:auto}
    .final-cta-card{padding:55px 20px}
    .footer-inner{grid-template-columns:1fr;text-align:center}
    .footer-links{justify-content:center}
    .site-footer{padding-bottom:115px}
    .mobile-join{
        position:fixed;
        left:12px;
        right:12px;
        bottom:max(12px,env(safe-area-inset-bottom));
        z-index:200;
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:14px;
        padding:10px 11px 10px 16px;
        border:1px solid rgba(255,255,255,.15);
        border-radius:18px;
        color:#fff;
        background:rgba(75,49,64,.94);
        box-shadow:0 15px 45px rgba(54,29,42,.28);
        backdrop-filter:blur(16px);
    }
    .mobile-join>div{display:flex;min-width:0;flex-direction:column;line-height:1.25}
    .mobile-join small{color:#e8cedb;font-size:9px;text-transform:uppercase;letter-spacing:1px}
    .mobile-join strong{margin-top:2px;overflow:hidden;text-overflow:ellipsis;font-size:12px;white-space:nowrap}
    .mobile-join button{flex:0 0 auto;padding:10px 15px;border:0;border-radius:12px;color:#fff;background:var(--pink-500);font-size:11px;font-weight:900}
    .toast{bottom:94px}
}

@media (max-width:480px){
    .brand-copy small{display:none}
    .brand-copy strong{font-size:17px}
    .header-inner{gap:12px}
    .hero{padding-top:18px}
    .hero h1{font-size:38px}
    .eyebrow{font-size:10px}
    .hero-actions .button{width:100%}
    .hero-points{gap:10px;font-size:10px}
    .bedrock-addresses{grid-template-columns:1fr 90px}
    .address-box strong,.port-box strong{font-size:14px}
    .gallery{grid-template-rows:260px 200px 200px}
    .rules-intro{text-align:left}
    .rules-note{justify-content:flex-start}
}

@media (prefers-reduced-motion:reduce){
    html{scroll-behavior:auto}
    *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
    .reveal{opacity:1;transform:none}
}
