:root {
    --fd-ink: #26051f;
    --fd-cream: #fff0bd;
    --fd-pink: #df91c8;
    --fd-purple: #551071;
    --fd-blue: #3435dc;
    --fd-orange: #ef6b48;
}

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

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    background: var(--fd-ink);
    color: var(--fd-ink);
    font-family: Arial, Helvetica, sans-serif;
}

button,
a {
    color: inherit;
}

.skip-link {
    position: fixed;
    z-index: 9999;
    top: 1rem;
    left: 1rem;
    padding: 0.75rem 1rem;
    background: var(--fd-ink);
    color: var(--fd-cream);
    transform: translateY(-200%);
}

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

.site-header {
    position: absolute;
    z-index: 20;
    top: 0;
    right: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 28px;
    border-bottom: 1px solid rgba(38, 5, 31, 0.34);
}

.site-navigation,
.primary-menu {
    display: flex;
    align-items: center;
    gap: 22px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.logo,
.primary-menu a,
.header-cta {
    text-decoration: none;
    font: 11px/1 'Courier New', monospace;
    letter-spacing: 0.07em;
}

.logo span {
    font-family: Georgia, serif;
    font-style: italic;
}

.header-cta {
    padding: 10px 13px;
    border: 1px solid var(--fd-ink);
    border-radius: 999px;
}

.header-cta:hover,
.header-cta:focus-visible {
    color: var(--fd-pink);
    background: var(--fd-ink);
}


.dorothy-footer {
    position: relative;
    min-height: 480px;
    padding: 48px 7% 28px;
    overflow: hidden;
    color: var(--fd-pink);
    background: var(--fd-ink);
}

.footer-top,
.footer-bottom {
    display: flex;
    justify-content: space-between;
    gap: 30px;
    font: 9px/1.3 'Courier New', monospace;
    letter-spacing: 0.09em;
}

.footer-menu {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 9px 20px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.dorothy-footer a {
    color: inherit;
    text-decoration: none;
}

.dorothy-footer h2 {
    margin: 92px 0 0;
    white-space: nowrap;
    font-size: clamp(56px, 11.7vw, 160px);
    font-weight: 400;
    line-height: 0.75;
    letter-spacing: -0.085em;
    transform: translateX(-2%);
}

.dorothy-footer h2 em {
    color: var(--fd-orange);
    font-family: Georgia, serif;
    font-style: italic;
}

.footer-note {
    position: absolute;
    right: 8%;
    bottom: 76px;
    display: grid;
    width: 155px;
    height: 155px;
    padding: 22px;
    place-content: center;
    border-radius: 50%;
    color: var(--fd-ink) !important;
    background: var(--fd-orange);
    font: 17px/1.05 Georgia, serif;
    text-align: center;
    transform: rotate(-7deg);
}

.footer-clue {
    position: absolute;
    bottom: 68px;
    left: 35%;
    width: 64px;
    height: 82px;
    border: 1px solid var(--fd-pink);
    transform: rotate(-13deg);
}

.footer-clue::before,
.footer-clue::after {
    content: '';
    position: absolute;
    inset: 0;
    border: 1px solid var(--fd-pink);
    transform: translate(9px, 8px);
}

.footer-clue::after {
    transform: translate(18px, 16px);
}

.footer-bottom {
    position: absolute;
    right: 7%;
    bottom: 26px;
    left: 7%;
    padding-top: 13px;
    border-top: 1px solid rgba(223, 145, 200, 0.35);
    font-size: 8px;
}

@media (max-width: 720px) {
    .site-header {
        padding: 16px;
    }

    .primary-menu {
        display: none;
    }

    .header-cta {
        padding: 8px 9px;
        font-size: 8px;
    }

    .dorothy-footer {
        min-height: 520px;
        padding: 38px 18px 24px;
    }

    .footer-top {
        display: block;
    }

    .footer-menu {
        justify-content: flex-start;
        margin-top: 25px;
    }

    .dorothy-footer h2 {
        margin-top: 100px;
        white-space: normal;
        font-size: 18vw;
    }

    .footer-note {
        right: 18px;
        bottom: 74px;
        width: 120px;
        height: 120px;
        font-size: 14px;
    }

    .footer-bottom {
        right: 18px;
        left: 18px;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.001ms !important;
    }
}

.chapter-one{min-height:78vh;padding:10vh 8vw;background:var(--fd-cream)}.chapter-one>p:first-child,.mailroom>p,.invite-copy>p,.about-hero-inner>p:first-child,.about-story>p,.privacy-hero p,.privacy-copy>p:first-child,.request-title>p{margin:0;font:10px/1 'Courier New',monospace;letter-spacing:.13em}.chapter-one h2{max-width:900px;margin:10vh 0 0;color:var(--fd-purple);font:400 clamp(64px,10vw,145px)/.82 Georgia,serif;letter-spacing:-.065em}.chapter-intro{max-width:600px;margin:7vh 0 0 auto;font-size:clamp(26px,3.3vw,48px);line-height:1.03;letter-spacing:-.04em}.chapter-one-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:5vw;align-items:end}.scroll-reveal{opacity:1;transform:none}.has-js .scroll-reveal{opacity:0;transform:translateY(40px) rotate(.5deg);transition:opacity .75s ease,transform .9s cubic-bezier(.2,.75,.2,1)}.has-js .scroll-reveal.is-visible{opacity:1;transform:none}
.mailroom{position:relative;overflow:hidden;padding:68px 7% 88px;background:radial-gradient(circle at 82% 28%,rgba(255,240,189,.8),transparent 24%),linear-gradient(125deg,var(--fd-orange),var(--fd-pink) 62%,#7137c8)}.mailroom::before{content:'02';position:absolute;top:-55px;right:-8px;color:rgba(38,5,31,.1);font:310px/1 Georgia,serif}.mailroom-head{position:relative;z-index:2;display:grid;grid-template-columns:1.5fr .5fr;gap:32px;align-items:end;margin-top:28px}.mailroom-head h2{margin:0;font:400 clamp(58px,9.6vw,120px)/.78 Georgia,serif;letter-spacing:-.07em}.mailroom-head p,.mailroom-card p,.mailroom-progress p{font:10px/1.55 'Courier New',monospace}.mailroom-stage{position:relative;z-index:3;min-height:560px;margin-top:55px;border-top:1px solid var(--fd-ink)}.paper-stack{position:absolute;top:100px;left:8%;width:54%;height:330px;border:1px solid var(--fd-ink);background:var(--fd-blue);box-shadow:13px 13px 0 var(--fd-purple);transform:rotate(-8deg)}.paper-stack::before{content:'';position:absolute;inset:-18px 12px 18px -12px;border:1px solid var(--fd-ink);background:var(--fd-orange);transform:rotate(12deg)}.mailroom-card{position:absolute;z-index:4;top:72px;left:10%;display:flex;flex-direction:column;width:55%;min-height:355px;padding:35px 38px 32px;border:1px solid var(--fd-ink);background:var(--fd-cream);box-shadow:16px 16px 0 rgba(38,5,31,.58);transform:rotate(-2deg);transition:.55s}.mailroom-stage[data-step='2'] .mailroom-card{background:var(--fd-pink);transform:rotate(2deg)}.mailroom-stage[data-step='3'] .mailroom-card{color:var(--fd-cream);background:var(--fd-purple);transform:rotate(-3deg)}.mailroom-kicker{font:10px/1 'Courier New',monospace;letter-spacing:.1em}.mailroom-symbol{position:absolute;top:25px;right:29px;font:47px/1 Georgia,serif}.mailroom-card h3{max-width:500px;margin:auto 0 18px;font:400 clamp(45px,6.8vw,82px)/.82 Georgia,serif;letter-spacing:-.055em}.turn-letter{position:absolute;z-index:6;top:338px;left:calc(65% - 58px);display:grid;width:116px;height:116px;padding:16px;place-content:center;border:0;border-radius:50%;color:var(--fd-cream);background:var(--fd-ink);cursor:pointer;text-align:center;transform:rotate(7deg);font:9px/1.2 'Courier New',monospace}.turn-letter:hover{background:var(--fd-blue);transform:rotate(-7deg) scale(1.06)}.mailroom-progress{position:absolute;top:92px;right:1%;width:24%}.mailroom-progress strong{display:block;padding-bottom:13px;border-bottom:1px solid;font:400 clamp(54px,8vw,94px)/.8 Georgia,serif}.mailroom-dots{display:flex;gap:8px;margin-top:27px}.mailroom-dots span{width:10px;height:10px;border:1px solid;border-radius:50%}.mailroom-dots .is-active{background:currentColor}.mailroom-ribbon{position:absolute;right:-8%;bottom:35px;left:-8%;padding:12px 0;color:var(--fd-cream);background:var(--fd-ink);transform:rotate(-2deg);white-space:nowrap;text-align:center;font:10px/1 'Courier New',monospace;letter-spacing:.15em}
.invite{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,430px);gap:clamp(40px,7vw,120px);align-items:center;min-height:540px;padding:78px max(7%,calc((100% - 1600px)/2));overflow:hidden;color:var(--fd-cream);background:radial-gradient(circle at 80% 50%,rgba(239,107,72,.95),transparent 42%),linear-gradient(125deg,var(--fd-blue),var(--fd-purple))}.invite::before{content:'03';position:absolute;top:-30px;left:42%;color:rgba(255,240,189,.12);font:250px/1 Georgia,serif}.invite-copy h2{position:relative;z-index:2;margin:16px 0 0;font:400 clamp(52px,8vw,96px)/.82 Georgia,serif;letter-spacing:-.06em}.invite-mail{position:relative;width:100%;min-height:330px;max-width:430px;margin-left:auto;perspective:900px}.invite-envelope{position:absolute;z-index:3;inset:48px 0 auto;width:100%;height:230px;overflow:hidden;border:0;background:var(--fd-pink);box-shadow:17px 17px 0 rgba(38,5,31,.48);cursor:pointer;transform:rotate(-2deg);transition:.85s}.invite-envelope::before{content:'';position:absolute;inset:0;clip-path:polygon(0 0,50% 63%,100% 0);background:var(--fd-orange)}.invite-envelope>span{position:absolute;z-index:2;top:50%;left:50%;display:grid;width:58px;height:58px;place-content:center;border-radius:50%;color:var(--fd-cream);background:var(--fd-purple);transform:translate(-50%,-35%);font:28px/1 Georgia,serif}.invite-envelope small{position:absolute;z-index:2;right:15px;bottom:14px;font:9px/1 'Courier New',monospace}.invite-letter{position:absolute;inset:28px 12px auto;padding:42px 36px 35px;color:var(--fd-ink);background:var(--fd-cream);box-shadow:17px 17px 0 rgba(38,5,31,.48);opacity:.5;transform:translateY(54px) rotate(2deg) scale(.94);transition:.85s}.invite-letter p{margin:0 0 28px;font:11px/1.55 'Courier New',monospace}.invite-letter a{display:inline-block;padding-bottom:3px;border-bottom:1px solid;text-decoration:none;font-size:17px}.invite-letter small{display:block;margin-top:26px;font:8px/1.3 'Courier New',monospace;opacity:.68}.invite-mail.is-open .invite-envelope{opacity:0;pointer-events:none;transform:translateY(170px) rotate(7deg) scale(.88)}.invite-mail.is-open .invite-letter{z-index:4;opacity:1;transform:translateY(-18px) rotate(1deg) scale(1)}
.about-hero{position:relative;min-height:760px;overflow:hidden;background:radial-gradient(circle at 83% 44%,var(--fd-orange),transparent 27%),linear-gradient(128deg,#7137c8,var(--fd-pink) 61%,var(--fd-orange))}.about-hero-inner{padding:14vh 7% 12vh}.about-hero h1{max-width:920px;margin:38px 0 0;font:400 clamp(66px,9.4vw,132px)/.78 Arial,sans-serif;letter-spacing:-.075em}.about-hero h1 em{color:var(--fd-cream);font-family:Georgia,serif}.about-lead{max-width:440px;margin:52px 0 0 44%;font-size:clamp(22px,2.5vw,35px);line-height:1.04}.about-door-card{position:absolute;right:6%;bottom:7%;width:190px;height:248px;padding:18px;border:2px solid;color:var(--fd-cream);background:var(--fd-purple);box-shadow:14px 14px 0 var(--fd-orange);transform:rotate(5deg);font:9px/1.45 'Courier New',monospace}.about-door-card strong{display:block;margin:23px 0 49px;font:96px/.6 Georgia,serif;text-align:center}.about-story{padding:78px 7% 105px;background:var(--fd-cream)}.about-story-stage{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(210px,250px);column-gap:clamp(24px,4vw,64px);align-items:start;min-height:570px;margin-top:50px;border-top:1px solid}.about-story h2{grid-column:1;max-width:none;margin:55px 0 0;color:var(--fd-purple);font:400 clamp(55px,8.8vw,116px)/.82 Georgia,serif;letter-spacing:-.065em}.about-fragment{position:absolute;max-width:380px;font-size:23px;line-height:1.04}.about-fragment-one{bottom:24px;left:8%;transform:rotate(-2deg)}.about-fragment-two{right:4%;bottom:95px;transform:rotate(2deg)}.about-postcard{position:relative;grid-row:1;grid-column:2;width:100%;min-height:138px;margin-top:14px;padding:27px 24px;color:var(--fd-cream);background:var(--fd-blue);box-shadow:10px 10px 0 var(--fd-pink);transform:rotate(7deg);font:9px/1.5 'Courier New',monospace}.about-dossier{padding:85px 7% 110px;overflow:hidden;background:linear-gradient(125deg,var(--fd-pink),var(--fd-orange))}.about-dossier-head{display:grid;grid-template-columns:1fr 300px;gap:40px;align-items:end}.about-dossier-head h2{margin:0;font:400 clamp(55px,7.7vw,102px)/.82 Georgia,serif}.about-dossier-head p{font:9px/1.6 'Courier New',monospace}.about-dossier-stage{display:grid;grid-template-columns:250px 1fr;gap:7vw;margin-top:75px}.about-dossier-controls{display:flex;flex-direction:column;border-top:1px solid}.about-dossier-controls button{padding:20px 5px;border:0;border-bottom:1px solid;background:transparent;cursor:pointer;text-align:left;font:9px/1.3 'Courier New',monospace}.about-dossier-controls button.is-active{padding-left:15px;color:var(--fd-cream);background:var(--fd-ink)}.dossier-paper{position:relative;min-height:420px;padding:45px 6% 48px;border:1px solid;background:var(--fd-cream);box-shadow:18px 18px 0 var(--fd-purple);transform:rotate(-1deg)}.dossier-paper span{font:9px/1 'Courier New',monospace}.dossier-paper b{position:absolute;top:31px;right:5%;font:56px/1 Georgia,serif}.dossier-paper h3{max-width:700px;margin:120px 0 25px;color:var(--fd-purple);font:400 clamp(42px,6vw,76px)/.84 Georgia,serif}.dossier-paper p{max-width:590px;font-size:18px;line-height:1.35}.about-maker{display:grid;grid-template-columns:minmax(230px,.75fr) 1.25fr;gap:8vw;align-items:center;padding:110px 9%;color:var(--fd-cream);background:var(--fd-blue)}.maker-card{min-height:490px;border:1px solid;background:radial-gradient(circle at 53% 38%,var(--fd-cream) 0 7%,transparent 7.5%),radial-gradient(ellipse at 51% 52%,var(--fd-orange) 0 20%,transparent 20.5%),linear-gradient(145deg,var(--fd-pink),var(--fd-purple));box-shadow:20px 20px 0 var(--fd-ink);transform:rotate(-3deg)}.about-maker h2{margin:0 0 35px;font:400 clamp(54px,7vw,94px)/.83 Georgia,serif}.about-maker p{max-width:600px;font-size:22px;line-height:1.18}.about-maker small{display:block;max-width:500px;margin-top:42px;padding-top:18px;border-top:1px solid rgba(255,240,189,.45);font:8px/1.5 'Courier New',monospace}
.request-hero{position:relative;min-height:640px;overflow:hidden;background:radial-gradient(circle at 77% 48%,rgba(255,240,189,.95),transparent 19%),linear-gradient(120deg,var(--fd-orange),var(--fd-pink) 53%,#7137c8)}.request-title{padding:13vh 7% 110px}.request-title h1{margin:28px 0 0;font-size:clamp(75px,11vw,150px);font-weight:400;line-height:.76;letter-spacing:-.08em}.request-title h1 em{color:var(--fd-cream);font-family:Georgia,serif}.request-title>span{display:block;max-width:430px;margin:50px 0 0 45%;font-size:24px;line-height:1.06}.request-stamp{position:absolute;top:36%;right:8%;display:grid;width:150px;height:150px;place-content:center;border:2px solid;border-radius:50%;transform:rotate(11deg);text-align:center;font:24px/.88 Georgia,serif}.request-stamp small{display:block;margin-top:10px;font:7px/1.25 'Courier New',monospace}.request-room{padding:82px 7% 110px;background:var(--fd-cream)}.letter-form{position:relative;max-width:980px;min-height:420px;margin:0 auto;padding:45px 5% 40px;border:1px solid;background:#f8edce;box-shadow:18px 18px 0 var(--fd-pink),36px 36px 0 var(--fd-orange)}.form-placeholder h2{color:var(--fd-purple);font:400 clamp(42px,5.8vw,70px)/.85 Georgia,serif}.letter-form .wpforms-container{margin:0;font-family:Arial,sans-serif}.letter-form .wpforms-field{padding:12px 0}.letter-form .wpforms-field-label{margin-bottom:7px;font:700 10px/1.3 'Courier New',monospace;letter-spacing:.07em}.letter-form .wpforms-required-label{color:#8d153a}.letter-form .wpforms-field input:not([type=checkbox]):not([type=radio]),.letter-form .wpforms-field textarea,.letter-form .wpforms-field select{width:100%;max-width:none;border:0;border-bottom:1px solid var(--fd-ink);border-radius:0;background:transparent;box-shadow:none;color:var(--fd-ink)}.letter-form .wpforms-field textarea{min-height:150px;resize:vertical}.letter-form .wpforms-field input:focus,.letter-form .wpforms-field textarea:focus,.letter-form .wpforms-field select:focus{border-bottom-color:var(--fd-purple);box-shadow:0 2px 0 var(--fd-purple);outline:0}.letter-form .wpforms-field-sublabel{font:8px/1.3 'Courier New',monospace}.letter-form .wpforms-field-gdpr-checkbox ul,.letter-form .wpforms-field-checkbox ul{padding:0;list-style:none}.letter-form .wpforms-field-gdpr-checkbox label,.letter-form .wpforms-field-checkbox label{font:11px/1.45 'Courier New',monospace}.letter-form .wpforms-submit{padding:14px 17px;border:1px solid var(--fd-ink);border-radius:0;color:var(--fd-cream);background:var(--fd-ink);cursor:pointer;font:9px/1 'Courier New',monospace;letter-spacing:.06em}.letter-form .wpforms-submit:hover,.letter-form .wpforms-submit:focus{color:var(--fd-cream);background:var(--fd-purple)}.letter-form .wpforms-error{color:#8d153a;font:10px/1.4 'Courier New',monospace}.letter-form .wpforms-confirmation-container-full{margin:0;border:1px solid var(--fd-ink);border-radius:0;background:var(--fd-pink);font:14px/1.5 'Courier New',monospace}.privacy-hero{min-height:610px;background:linear-gradient(125deg,#7137c8,var(--fd-pink) 60%,var(--fd-orange))}.privacy-hero>div{padding:14vh 7% 90px}.privacy-hero h1{margin:37px 0 0;font-size:clamp(65px,10vw,136px);font-weight:400;line-height:.78;letter-spacing:-.07em}.privacy-hero h1 em{color:var(--fd-cream);font-family:Georgia,serif}.privacy-copy{padding:90px max(7%,calc((100% - 900px)/2)) 110px;background:var(--fd-cream)}.privacy-copy h2{margin:70px 0 25px;color:var(--fd-purple);font:400 clamp(48px,7vw,86px)/.85 Georgia,serif}.privacy-copy p:not(:first-child){max-width:720px;font-size:21px;line-height:1.45}
@media(max-width:720px){.chapter-one{padding:9vh 18px}.chapter-one-grid,.mailroom-head,.invite,.about-dossier-head,.about-dossier-stage,.about-maker{grid-template-columns:1fr}.chapter-intro{margin-left:0}.mailroom{padding:60px 18px 70px}.mailroom-stage{min-height:650px}.paper-stack,.mailroom-card{left:3%;width:84%}.mailroom-card{padding:28px 24px}.mailroom-card h3{margin-top:120px}.turn-letter{top:365px;right:2%;left:auto;width:94px;height:94px}.mailroom-progress{top:510px;right:auto;left:3%;width:87%}.invite{padding:70px 18px 90px}.invite-mail{margin:30px auto 0}.about-hero{min-height:720px}.about-hero-inner{padding:100px 18px 70px}.about-hero h1{font-size:16vw}.about-lead{max-width:50%;margin:38px 0 0}.about-door-card{right:18px;bottom:35px;width:140px;height:188px}.about-story{padding:62px 18px 85px}.about-story-stage{display:flex;flex-direction:column;min-height:0;padding-top:24px}.about-story h2{margin-top:0}.about-postcard{position:relative;top:auto;right:auto;order:-1;align-self:flex-end;width:min(180px,62vw);margin:0 8px 46px 0;transform:rotate(5deg)}.about-fragment{position:relative;right:auto;bottom:auto;left:auto;font-size:21px}.about-fragment-one{align-self:flex-start;margin:70px 8% 0 0}.about-fragment-two{align-self:flex-end;margin:48px 0 0 12%}.about-dossier{padding:70px 18px 90px}.about-dossier-stage{margin-top:45px}.about-dossier-controls{display:grid;grid-template-columns:repeat(3,1fr)}.about-dossier-controls button{padding:14px 8px;border-right:1px solid;font-size:7px}.dossier-paper{min-height:470px;margin-top:35px;padding:30px 25px}.about-maker{padding:80px 18px}.maker-card{min-height:400px}.request-hero{min-height:650px}.request-title{padding:100px 18px 65px}.request-title h1{font-size:18vw}.request-title>span{max-width:64%;margin:42px 0 0}.request-stamp{top:auto;right:18px;bottom:38px;width:120px;height:120px}.request-room{padding:60px 18px 95px}.letter-form{padding:34px 25px 35px 41px;box-shadow:9px 9px 0 var(--fd-pink),18px 18px 0 var(--fd-orange)}.privacy-hero>div,.privacy-copy{padding:100px 18px 85px}}

@media (min-width: 721px) and (max-width: 1150px) {
    .about-lead,
    .request-title > span {
        margin-left: 0;
    }
}

@media (max-width: 720px) {
    .site-header {
        gap: 8px;
        padding: 14px 12px;
    }

    .logo {
        flex: 0 0 auto;
        font-size: 9px;
        white-space: nowrap;
    }

    .site-navigation {
        gap: 7px;
        margin-left: auto;
        min-width: 0;
    }

    .primary-menu {
        display: flex;
        gap: 7px;
    }

    .primary-menu a {
        display: block;
        font-size: 8px;
        white-space: nowrap;
    }

    .header-cta {
        flex: 0 0 auto;
        padding: 8px 7px;
        font-size: 7px;
        white-space: nowrap;
    }

    .mailroom::before {
        top: 18px;
        right: 16px;
        font-size: 86px;
    }

    .mailroom-head h2 {
        position: relative;
        z-index: 2;
        max-width: 92%;
    }
}
