:root {

    --background: #f7f6f2;

    --surface: rgba(255, 255, 255, 0.76);

    --white: #ffffff;

    --ink: #171714;

    --muted: #686862;

    --line: rgba(23, 23, 20, 0.1);

    --gold: #b6904f;

    --gold-dark: #866626;

    --gold-light: #eadbb8;

    --warm: #ede8dd;

    --warm-deep: #d8c9aa;

    --dark: #181816;

    --dark-soft: #24231f;

    --shadow-small:

        0 12px 30px rgba(37, 31, 20, 0.08);

    --shadow-medium:

        0 25px 70px rgba(37, 31, 20, 0.14);

    --shadow-large:

        0 55px 130px rgba(27, 23, 15, 0.22);

    --radius-small: 18px;

    --radius-medium: 28px;

    --radius-large: 42px;

    --radius-xl: 58px;

    --page-width: 1240px;

}

/* --------------------------------------------------

   RESET

-------------------------------------------------- */

* {

    box-sizing: border-box;

}

html {

    scroll-behavior: smooth;

}

body {

    margin: 0;

    min-width: 320px;

    overflow-x: hidden;

    color: var(--ink);

    background:

        radial-gradient(

            circle at 50% -10%,

            rgba(235, 218, 180, 0.24),

            transparent 32%

        ),

        var(--background);

    font-family:

        -apple-system,

        BlinkMacSystemFont,

        "SF Pro Display",

        "SF Pro Text",

        "Inter",

        "Segoe UI",

        Arial,

        sans-serif;

    -webkit-font-smoothing: antialiased;

    text-rendering: optimizeLegibility;

}

img {

    display: block;

    max-width: 100%;

}

a {

    color: inherit;

    text-decoration: none;

}

button,

input,

textarea,

select {

    font: inherit;

}

/* --------------------------------------------------

   SHARED LAYOUT

-------------------------------------------------- */

.section-shell,

.hero-inner,

.nav-shell,

.footer-shell {

    width: min(calc(100% - 48px), var(--page-width));

    margin-inline: auto;

}

.narrow-shell {

    max-width: 930px;

}

.section-label,

.eyebrow {

    margin: 0 0 18px;

    color: var(--gold-dark);

    font-size: 0.78rem;

    font-weight: 700;

    letter-spacing: 0.17em;

    line-height: 1.2;

    text-transform: uppercase;

}

h1,

h2,

h3,

p {

    margin-top: 0;

}

h1,

h2,

h3 {

    text-wrap: balance;

}

h2 {

    margin-bottom: 30px;

    font-size: clamp(3rem, 5.2vw, 5.7rem);

    font-weight: 650;

    letter-spacing: -0.065em;

    line-height: 0.98;

}

p {

    color: var(--muted);

    font-size: 1.05rem;

    line-height: 1.75;

}

.primary-button {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 18px;

    min-height: 58px;

    padding: 0 26px;

    color: #fff;

    background:

        linear-gradient(

            135deg,

            #191916,

            #323027

        );

    border: 1px solid rgba(255, 255, 255, 0.14);

    border-radius: 999px;

    box-shadow:

        0 14px 36px rgba(20, 19, 15, 0.22),

        inset 0 1px 0 rgba(255, 255, 255, 0.14);

    font-size: 0.95rem;

    font-weight: 650;

    transition:

        transform 180ms ease,

        box-shadow 180ms ease,

        background 180ms ease;

}

.primary-button:hover {

    transform: translateY(-2px);

    background:

        linear-gradient(

            135deg,

            #2b2922,

            #171714

        );

    box-shadow:

        0 20px 44px rgba(20, 19, 15, 0.28),

        inset 0 1px 0 rgba(255, 255, 255, 0.17);

}

.primary-button span {

    color: var(--gold-light);

    font-size: 1.15rem;

}

/* --------------------------------------------------

   NAVIGATION

-------------------------------------------------- */

.site-header {

    position: absolute;

    z-index: 100;

    top: 0;

    left: 0;

    width: 100%;

}
.site-header .primary-button.large-button {
  min-height: 42px;
  padding-inline: 18px;
  font-size: 0.82rem;
  gap: 10px;
}

site-header .primary-button.large-button {
   min-height: 42px;
   padding-inline: 18px;
   font-size: 0.82rem;
   gap: 10px;

   width: auto;
   min-width: 0;
   flex: 0 0 auto;
}

.nav-shell {

    display: grid;

    grid-template-columns: 1fr auto 1fr;

    align-items: center;

    min-height: 92px;

}

.brand {

    display: inline-flex;

    align-items: center;

    justify-self: start;

    gap: 11px;

    font-size: 1.08rem;

    font-weight: 700;

    letter-spacing: -0.025em;

}

.brand-mark {

    width: 150px;

    height: 150px;

    object-fit: contain;

}

.main-nav {

    display: flex;

    align-items: center;

    gap: 38px;

}

.main-nav a {

    color: rgba(23, 23, 20, 0.64);

    font-size: 0.88rem;

    font-weight: 560;

    transition: color 160ms ease;

}

.main-nav a:hover {

    color: var(--ink);

}

.nav-button {

    justify-self: end;

    padding: 11px 18px;

    background: rgba(255, 255, 255, 0.62);

    border: 1px solid rgba(23, 23, 20, 0.1);

    border-radius: 999px;

    box-shadow:

        0 7px 22px rgba(37, 31, 20, 0.06),

        inset 0 1px 0 rgba(255, 255, 255, 0.75);

    backdrop-filter: blur(18px);

    font-size: 0.84rem;

    font-weight: 650;

    transition:

        transform 160ms ease,

        background 160ms ease;

}

.nav-button:hover {

    transform: translateY(-1px);

    background: rgba(255, 255, 255, 0.92);

}

/* --------------------------------------------------

   HERO

-------------------------------------------------- */

.hero {

    position: relative;

    min-height: 940px;

    padding: 190px 0 120px;

    overflow: hidden;

}

.hero::before {

    content: "";

    position: absolute;

    top: 0;

    left: 50%;

    width: min(1500px, 100%);

    height: 760px;

    transform: translateX(-50%);

    background:

        linear-gradient(

            180deg,

            rgba(255, 255, 255, 0.58),

            rgba(255, 255, 255, 0)

        );

    border-radius: 0 0 50% 50%;

    pointer-events: none;

}

.hero-glow {

    position: absolute;

    border-radius: 50%;

    filter: blur(30px);

    pointer-events: none;

}

.hero-glow-one {

    top: 80px;

    right: -180px;

    width: 620px;

    height: 620px;

    background:

        radial-gradient(

            circle,

            rgba(215, 188, 126, 0.34),

            rgba(215, 188, 126, 0)

        );

}

.hero-glow-two {

    bottom: -220px;

    left: -170px;

    width: 540px;

    height: 540px;

    background:

        radial-gradient(

            circle,

            rgba(201, 196, 181, 0.28),

            rgba(201, 196, 181, 0)

        );

}

.hero-inner {

    position: relative;

    z-index: 2;

    display: grid;

    grid-template-columns: minmax(0, 0.82fr) minmax(540px, 1.18fr);

    align-items: center;

    gap: 72px;

}

.hero-copy {

    padding-bottom: 45px;

}

.hero h1 {

    margin-bottom: 34px;

    font-size: clamp(4.2rem, 7vw, 7.25rem);

    font-weight: 680;

    letter-spacing: -0.078em;

    line-height: 0.88;

}

.hero h1 span {

    display: inline-block;

    color: transparent;

    background:

        linear-gradient(

            100deg,

            #8e6b27,

            #c5a15c 45%,

            #8e6b27

        );

    background-clip: text;

    -webkit-background-clip: text;

}

.hero-description {

    max-width: 570px;

    margin-bottom: 38px;

    font-size: 1.13rem;

    line-height: 1.72;

}

.hero-actions {

    display: flex;

    align-items: center;

    gap: 28px;

}

.text-link {

    display: inline-flex;

    align-items: center;

    gap: 10px;

    color: #4d4c47;

    font-size: 0.9rem;

    font-weight: 620;

}

.text-link span {

    color: var(--gold);

}

.hero-visual {

    position: relative;

    min-width: 0;

    padding: 64px 0 86px;

}

.visual-orbit {

    position: absolute;

    z-index: -1;

    border: 1px solid rgba(168, 134, 69, 0.13);

    border-radius: 50%;

}

.orbit-one {

    top: 7%;

    left: 3%;

    width: 650px;

    height: 650px;

}

.orbit-two {

    top: 18%;

    left: 13%;

    width: 520px;

    height: 520px;

}

.browser-frame {

    position: relative;

    z-index: 3;

    width: 730px;

    max-width: 100%;

    margin-left: auto;

    overflow: hidden;

    background: rgba(255, 255, 255, 0.92);

    border: 1px solid rgba(255, 255, 255, 0.94);

    border-radius: 26px;

    box-shadow:

        var(--shadow-large),

        0 0 0 1px rgba(75, 62, 36, 0.07);

    transform:

        perspective(1600px)

        rotateY(-5deg)

        rotateX(1.5deg);

}

.browser-bar {

    display: grid;

    grid-template-columns: 1fr auto 1fr;

    align-items: center;

    height: 50px;

    padding: 0 18px;

    background:

        linear-gradient(

            180deg,

            rgba(252, 252, 250, 0.98),

            rgba(244, 243, 239, 0.98)

        );

    border-bottom: 1px solid rgba(22, 22, 19, 0.07);

}

.browser-dots {

    display: flex;

    gap: 7px;

}

.browser-dots span {

    width: 9px;

    height: 9px;

    background: #d4d1c9;

    border-radius: 50%;

}

.browser-dots span:first-child {

    background: #ceb575;

}

.browser-address {

    padding: 6px 38px;

    color: #85827a;

    background: rgba(228, 227, 222, 0.58);

    border: 1px solid rgba(30, 30, 27, 0.04);

    border-radius: 999px;

    font-size: 0.68rem;

    font-weight: 600;

    letter-spacing: 0.02em;

}

.browser-screen {

    aspect-ratio: 16 / 10;

    overflow: hidden;

    background: #f5f4ef;

}

.browser-screen img {

    width: 100%;

    height: 100%;

    object-fit: contain;

    object-position: top left;

}

.floating-card {

    position: absolute;

    z-index: 5;

    display: flex;

    align-items: center;

    gap: 13px;

    min-width: 235px;

    padding: 15px 18px;

    background: rgba(255, 255, 255, 0.78);

    border: 1px solid rgba(255, 255, 255, 0.84);

    border-radius: 17px;

    box-shadow:

        0 22px 52px rgba(37, 31, 20, 0.15),

        inset 0 1px 0 rgba(255, 255, 255, 0.95);

    backdrop-filter: blur(24px);

}

.floating-card strong,

.floating-card small {

    display: block;

}

.floating-card strong {

    margin-bottom: 4px;

    color: #292823;

    font-size: 0.77rem;

    font-weight: 700;

}

.floating-card small {

    color: #8a877e;

    font-size: 0.64rem;

}

.floating-card-top {

    top: 18px;

    right: 35px;

}

.floating-card-bottom {

    bottom: 28px;

    left: 5px;

}

.floating-icon {

    display: grid;

    place-items: center;

    width: 34px;

    height: 34px;

    color: #8b6b2e;

    background:

        linear-gradient(

            135deg,

            #f6ead0,

            #e4c987

        );

    border-radius: 10px;

}

.status-dot {

    width: 11px;

    height: 11px;

    background: #7ba26a;

    border: 3px solid #e7eee3;

    border-radius: 50%;

}

/* --------------------------------------------------

   INTRO

-------------------------------------------------- */

.intro-section {

    padding: 120px 0 170px;

    text-align: center;

}

.intro-section h2 {

    font-size: clamp(3.6rem, 6.5vw, 7rem);

}

.section-intro {

    max-width: 710px;

    margin: 0 auto;

    font-size: 1.18rem;

}

/* --------------------------------------------------

   FEATURE SECTIONS

-------------------------------------------------- */

.feature-section {

    padding: 95px 0;

}

.feature-grid {

    display: grid;

    grid-template-columns: 0.78fr 1.22fr;

    align-items: center;

    gap: 92px;

}

.reverse-grid {

    grid-template-columns: 1.22fr 0.78fr;

}

.reverse-grid .feature-copy {

    grid-column: 2;

    grid-row: 1;

}

.reverse-grid .feature-visual {

    grid-column: 1;

    grid-row: 1;

}

.feature-copy h2 {

    font-size: clamp(3.2rem, 5.2vw, 5.3rem);

}

.feature-copy > p:not(.section-label) {

    max-width: 540px;

    margin-bottom: 30px;

}

.feature-list {

    display: grid;

    gap: 15px;

    margin: 0;

    padding: 0;

    list-style: none;

}

.feature-list li {

    position: relative;

    padding-left: 28px;

    color: #4c4b46;

    font-size: 0.94rem;

    font-weight: 560;

    line-height: 1.5;

}

.feature-list li::before {

    content: "✓";

    position: absolute;

    top: 0;

    left: 0;

    display: grid;

    place-items: center;

    width: 18px;

    height: 18px;

    color: var(--gold-dark);

    background: rgba(182, 144, 79, 0.13);

    border-radius: 50%;

    font-size: 0.65rem;

    font-weight: 800;

}

.feature-visual {

    position: relative;

    display: grid;

    place-items: center;

    min-height: 690px;

    padding: 80px 0 80px 80px;

    overflow: hidden;

    border-radius: var(--radius-xl);

}

.feature-visual::before {

    content: "";

    position: absolute;

    top: -180px;

    right: -150px;

    width: 480px;

    height: 480px;

    border-radius: 50%;

}

.warm-panel {

    background:

        linear-gradient(

            145deg,

            #eee9de,

            #e2d6bf

        );

}

.warm-panel::before {

    background:

        radial-gradient(

            circle,

            rgba(255, 255, 255, 0.75),

            transparent 67%

        );

}

.dark-panel {

    padding: 80px 80px 80px 0;

    background:

        radial-gradient(

            circle at 25% 25%,

            #353329,

            transparent 45%

        ),

        linear-gradient(

            145deg,

            #24231f,

            #11110f

        );

}

.dark-panel::before {

    right: auto;

    left: -160px;

    background:

        radial-gradient(

            circle,

            rgba(187, 149, 77, 0.2),

            transparent 67%

        );

}

.app-window {

    position: relative;

    z-index: 2;

    overflow: hidden;

    background: #fff;

    border: 1px solid rgba(255, 255, 255, 0.55);

    border-radius: 22px;

    box-shadow:

        0 38px 85px rgba(29, 25, 17, 0.24),

        0 0 0 1px rgba(30, 28, 23, 0.05);

}

.large-window {

    width: 760px;

    max-width: calc(100% + 145px);

}

.warm-panel .large-window {

    margin-right: -145px;

}

.dark-panel .large-window {

    margin-left: -145px;

}

.app-window img {

    width: 100%;

    height: auto;

}

/* --------------------------------------------------

   LIBRARY

-------------------------------------------------- */

.feature-library {

    padding: 210px 0 150px;

}

.centred-heading {

    max-width: 820px;

    margin: 0 auto 80px;

    text-align: center;

}

.centred-heading h2 {

    font-size: clamp(3.8rem, 6vw, 6.5rem);

}

.centred-heading p:last-child {

    max-width: 680px;

    margin-inline: auto;

    font-size: 1.12rem;

}

.library-showcase {

    position: relative;

    display: grid;

    place-items: center;

    min-height: 760px;

    padding: 90px;

    overflow: hidden;

    background:

        linear-gradient(

            145deg,

            #e8dfce,

            #f3efe6 45%,

            #dcd0b6

        );

    border-radius: var(--radius-xl);

}

.library-glow {

    position: absolute;

    top: -130px;

    left: 50%;

    width: 780px;

    height: 540px;

    transform: translateX(-50%);

    background:

        radial-gradient(

            circle,

            rgba(255, 255, 255, 0.95),

            transparent 68%

        );

    filter: blur(10px);

}

.library-window {

    width: 100%;

    max-width: 980px;

    border-radius: 26px;

    box-shadow:

        0 54px 110px rgba(55, 45, 27, 0.25),

        0 0 0 1px rgba(51, 42, 25, 0.06);

}

/* --------------------------------------------------

   READER

-------------------------------------------------- */

.reader-section {

    padding: 170px 0;

    overflow: hidden;

}

.reader-grid {

    display: grid;

    grid-template-columns: 0.85fr 1.15fr;

    align-items: center;

    gap: 110px;

}

.reader-copy h2 {

    font-size: clamp(3.3rem, 5.3vw, 5.6rem);

}

.reader-copy p:last-child {

    max-width: 540px;

}

.reader-device {

    position: relative;

    display: grid;

    place-items: center;

    min-height: 680px;

}

.reader-device::before {

    content: "";

    position: absolute;

    width: 650px;

    height: 650px;

    background:

        radial-gradient(

            circle,

            rgba(211, 192, 151, 0.34),

            rgba(211, 192, 151, 0)

        );

    border-radius: 50%;

}

.tablet-frame {

    position: relative;

    z-index: 2;

    width: min(100%, 600px);

    padding: 16px;

    overflow: hidden;

    background:

        linear-gradient(

            145deg,

            #24231f,

            #0c0c0b

        );

    border: 1px solid #4c4941;

    border-radius: 42px;

    box-shadow:

        0 55px 110px rgba(28, 24, 16, 0.32),

        inset 0 0 0 1px rgba(255, 255, 255, 0.06);

    transform:

        perspective(1500px)

        rotateY(-7deg)

        rotateX(2deg);

}

.tablet-frame img {

    width: 100%;

    border-radius: 28px;

}

.tablet-camera {

    position: absolute;

    z-index: 3;

    top: 7px;

    left: 50%;

    width: 5px;

    height: 5px;

    transform: translateX(-50%);

    background: #5a5954;

    border-radius: 50%;

}

/* --------------------------------------------------

   BENEFITS

-------------------------------------------------- */

.benefits-section {

    padding: 100px 0 200px;

}

.benefits-grid {

    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 24px;

}

.benefit-card {

    min-height: 350px;

    padding: 42px 38px;

    background: rgba(255, 255, 255, 0.55);

    border: 1px solid rgba(31, 30, 26, 0.07);

    border-radius: 30px;

    box-shadow:

        0 20px 48px rgba(38, 32, 21, 0.06),

        inset 0 1px 0 rgba(255, 255, 255, 0.8);

    backdrop-filter: blur(20px);

    transition:

        transform 180ms ease,

        box-shadow 180ms ease;

}

.benefit-card:hover {

    transform: translateY(-5px);

    box-shadow:

        0 32px 65px rgba(38, 32, 21, 0.1),

        inset 0 1px 0 rgba(255, 255, 255, 0.9);

}

.featured-benefit {

    background:

        linear-gradient(

            145deg,

            #25241f,

            #141411

        );

    border-color: rgba(255, 255, 255, 0.08);

    box-shadow:

        0 35px 70px rgba(24, 22, 17, 0.2);

}

.featured-benefit h3 {

    color: #fff;

}

.featured-benefit p {

    color: rgba(255, 255, 255, 0.58);

}

.benefit-symbol {

    display: grid;

    place-items: center;

    width: 100px;

    height: 100px;

    margin-bottom: 70px;

    color: #8f6d2d;

    background:

        linear-gradient(

            145deg,

            #f3e7ca,

            #dfc27c

        );

    border-radius: 14px;

    box-shadow:

        0 12px 26px rgba(87, 67, 28, 0.13);

    font-size: 3.0rem;

}

.benefit-card h3 {

    margin-bottom: 14px;

    font-size: 1.55rem;

    font-weight: 680;

    letter-spacing: -0.04em;

}

.benefit-card p {

    margin-bottom: 0;

    font-size: 0.94rem;

}

/* --------------------------------------------------

   FINAL CTA

-------------------------------------------------- */

.final-cta {

    position: relative;

    padding: 180px 0;

    overflow: hidden;

    color: #fff;

    background:

        radial-gradient(

            circle at 50% 0%,

            #3b372c,

            transparent 42%

        ),

        linear-gradient(

            145deg,

            #20201c,

            #0d0d0b

        );

}

.final-glow {

    position: absolute;

    top: -300px;

    left: 50%;

    width: 950px;

    height: 700px;

    transform: translateX(-50%);

    background:

        radial-gradient(

            circle,

            rgba(190, 154, 83, 0.2),

            transparent 68%

        );

    border-radius: 50%;

}

.final-cta-inner {

    position: relative;

    z-index: 2;

    max-width: 900px;

    text-align: center;

}

.cta-logo {

    width: 350px;

    height: 350px;

    margin: 0 auto 42px;

    object-fit: contain;

    filter:

        drop-shadow(

            0 20px 28px rgba(0, 0, 0, 0.25)

        );

}

.final-cta .section-label {

    color: #d5b879;

}

.final-cta h2 {

    margin-bottom: 30px;

    font-size: clamp(4rem, 6.5vw, 7rem);

}

.final-cta p {

    max-width: 600px;

    margin: 0 auto 42px;

    color: rgba(255, 255, 255, 0.58);

    font-size: 1.12rem;

}

.large-button {

    min-height: 64px;

    padding-inline: 34px;

    color: #211f19;

    background:

        linear-gradient(

            135deg,

            #f0dfb7,

            #c9a45b

        );

    border-color: rgba(255, 255, 255, 0.2);

    box-shadow:

        0 18px 45px rgba(0, 0, 0, 0.3),

        inset 0 1px 0 rgba(255, 255, 255, 0.5);

}

.large-button:hover {

    background:

        linear-gradient(

            135deg,

            #f6e8c7,

            #d2ad65

        );

}

.large-button span {

    color: #624918;

}

.final-cta small {

    display: block;

    margin-top: 21px;

    color: rgba(255, 255, 255, 0.35);

    font-size: 0.72rem;

}

/* --------------------------------------------------

   FOOTER

-------------------------------------------------- */

.site-footer {

    padding: 44px 0;

    color: rgba(255, 255, 255, 0.68);

    background: #0d0d0b;

    border-top: 1px solid rgba(255, 255, 255, 0.06);

}

.footer-shell {

    display: grid;

    grid-template-columns: 1fr auto 1fr;

    align-items: center;

    gap: 30px;

}

.footer-brand {

    color: #fff;

}

.footer-brand .brand-mark {

    width: 150px;

    height: 150px;

}

.footer-shell p {

    margin: 0;

    color: rgba(255, 255, 255, 0.38);

    font-size: 0.76rem;

}

.copyright {

    justify-self: end;

}

/* --------------------------------------------------

   RESPONSIVE

-------------------------------------------------- */

@media (max-width: 1080px) {

    .hero {

        min-height: auto;

        padding-top: 170px;

    }

    .hero-inner {

        grid-template-columns: 1fr;

        gap: 45px;

    }

    .hero-copy {

        max-width: 800px;

        padding-bottom: 0;

    }

    .hero-description {

        max-width: 650px;

    }

    .hero-visual {

        max-width: 850px;

        margin: 0 auto;

    }

    .browser-frame {

        margin-inline: auto;

        transform:

            perspective(1600px)

            rotateY(-2deg)

            rotateX(1deg);

    }

    .feature-grid,

    .reverse-grid,

    .reader-grid {

        grid-template-columns: 1fr;

        gap: 55px;

    }

    .reverse-grid .feature-copy,

    .reverse-grid .feature-visual {

        grid-column: auto;

        grid-row: auto;

    }

    .reverse-grid .feature-copy {

        order: 1;

    }

    .reverse-grid .feature-visual {

        order: 2;

    }

    .feature-copy {

        max-width: 760px;

    }

    .reader-copy {

        max-width: 760px;

    }

    .reader-device {

        min-height: auto;

        padding: 40px 0;

    }

    .benefit-symbol {

        margin-bottom: 45px;

    }

}

@media (max-width: 820px) {

    .section-shell,

    .hero-inner,

    .nav-shell,

    .footer-shell {

        width: min(calc(100% - 30px), var(--page-width));

    }

    .nav-shell {

        grid-template-columns: 1fr auto;

    }

    .main-nav {

        display: none;

    }

    .hero {

        padding: 145px 0 80px;

    }

    .hero h1 {

        font-size: clamp(4rem, 15vw, 6.2rem);

    }

    .hero-actions {

        align-items: flex-start;

        flex-direction: column;

        gap: 20px;

    }

    .hero-visual {

        padding: 45px 0 70px;

    }

    .floating-card-top {

        top: 0;

        right: 10px;

    }

    .floating-card-bottom {

        bottom: 15px;

        left: 5px;

    }

    .intro-section {

        padding: 100px 0 120px;

    }

    .feature-section {

        padding: 70px 0;

    }

    .feature-visual,

    .dark-panel {

        min-height: 520px;

        padding: 55px 0 55px 35px;

        border-radius: 38px;

    }

    .dark-panel {

        padding-right: 35px;

        padding-left: 0;

    }

    .large-window {

        max-width: calc(100% + 90px);

    }

    .warm-panel .large-window {

        margin-right: -90px;

    }

    .dark-panel .large-window {

        margin-left: -90px;

    }

    .feature-library {

        padding-top: 140px;

    }

    .library-showcase {

        min-height: 540px;

        padding: 45px 25px;

        border-radius: 38px;

    }

    .reader-section {

        padding: 120px 0;

    }

    .benefits-grid {

        grid-template-columns: 1fr;

    }

    .benefit-card {

        min-height: auto;

    }

    .final-cta {

        padding: 130px 0;

    }

    .footer-shell {

        grid-template-columns: 1fr;

        justify-items: center;

        text-align: center;

    }

    .footer-brand,

    .copyright {

        justify-self: center;

    }

}

@media (max-width: 560px) {

    .site-header {

        position: absolute;

    }

.site-header .primary-button.large-button {
  min-height: 42px;
  padding-inline: 18px;
  font-size: 0.82rem;
  gap: 10px;
}

    .nav-shell {

        min-height: 76px;

    }

    .brand-mark {

        width: 28px;

        height: 28px;

    }

    .nav-button {

        padding: 9px 14px;

        font-size: 0.74rem;

    }

    .hero {

        padding-top: 122px;

    }

    .hero h1 {

        margin-bottom: 25px;

        font-size: clamp(3.7rem, 17vw, 5rem);

    }

    .hero-description {

        font-size: 1rem;

    }

    .browser-frame {

        border-radius: 17px;

    }

    .browser-bar {

        height: 39px;

        padding-inline: 12px;

    }

    .browser-address {

        padding: 4px 20px;

        font-size: 0.55rem;

    }

    .browser-dots span {

        width: 6px;

        height: 6px;

    }

    .floating-card {

        min-width: 195px;

        padding: 11px 13px;

    }

    .floating-card-top {

        right: -10px;

    }

    .floating-card-bottom {

        left: -5px;

    }

    .floating-icon {

        width: 29px;

        height: 29px;

    }

    h2,

    .feature-copy h2,

    .reader-copy h2 {

        font-size: clamp(3rem, 13vw, 4.2rem);

    }

    .feature-visual,

    .dark-panel {

        min-height: 400px;

        padding-top: 38px;

        padding-bottom: 38px;

        border-radius: 28px;

    }

    .library-showcase {

        min-height: 400px;

        border-radius: 28px;

    }

    .tablet-frame {

        padding: 10px;

        border-radius: 28px;

    }

    .tablet-frame img {

        border-radius: 20px;

    }

    .benefit-card {

        padding: 34px 28px;

        border-radius: 24px;

    }

    .final-cta h2 {

        font-size: clamp(3.5rem, 14vw, 5rem);

   }
}
/* --------------------------------------------------
  ACCOUNT PAGE
-------------------------------------------------- */

.account-page {
 min-height: 100vh;
 background:
   radial-gradient(
     circle at 78% 18%,
     rgba(215, 188, 126, 0.28),
     transparent 30%
   ),
   radial-gradient(
     circle at 12% 88%,
     rgba(201, 196, 181, 0.24),
     transparent 34%
   ),
   var(--background);
}

.account-header {
 position: absolute;
}

.account-header .nav-shell {
 grid-template-columns: 1fr auto;
}

.account-back-link {
 display: inline-flex;
 align-items: center;
 justify-self: end;
 gap: 10px;
 padding: 11px 18px;
 color: rgba(23, 23, 20, 0.66);
 background: rgba(255, 255, 255, 0.58);
 border: 1px solid rgba(23, 23, 20, 0.08);
 border-radius: 999px;
 box-shadow:
   0 9px 26px rgba(37, 31, 20, 0.07),
   inset 0 1px 0 rgba(255, 255, 255, 0.82);
 backdrop-filter: blur(18px);
 font-size: 0.82rem;
 font-weight: 650;
 transition:
   transform 160ms ease,
   background 160ms ease,
   color 160ms ease;
}

.account-back-link:hover {
 color: var(--ink);
 background: rgba(255, 255, 255, 0.9);
 transform: translateY(-1px);
}

.account-back-link span {
 color: var(--gold-dark);
}

.account-main {
 position: relative;
 display: grid;
 place-items: center;
 min-height: 100vh;
 padding: 145px 0 70px;
 overflow: hidden;
}

.account-main::before {
 content: "";
 position: absolute;
 top: 0;
 left: 50%;
 width: min(1500px, 100%);
 height: 670px;
 transform: translateX(-50%);
 background:
   linear-gradient(
     180deg,
     rgba(255, 255, 255, 0.62),
     rgba(255, 255, 255, 0)
   );
 border-radius: 0 0 50% 50%;
 pointer-events: none;
}

.account-glow {
 position: absolute;
 border-radius: 50%;
 filter: blur(28px);
 pointer-events: none;
}

.account-glow-one {
 top: 40px;
 right: -170px;
 width: 620px;
 height: 620px;
 background:
   radial-gradient(
     circle,
     rgba(215, 188, 126, 0.32),
     rgba(215, 188, 126, 0)
   );
}

.account-glow-two {
 bottom: -260px;
 left: -190px;
 width: 600px;
 height: 600px;
 background:
   radial-gradient(
     circle,
     rgba(190, 188, 180, 0.3),
     rgba(190, 188, 180, 0)
   );
}

.account-orbit {
 position: absolute;
 border: 1px solid rgba(168, 134, 69, 0.12);
 border-radius: 50%;
 pointer-events: none;
}

.account-orbit-one {
 top: 14%;
 right: 4%;
 width: 620px;
 height: 620px;
}

.account-orbit-two {
 top: 22%;
 right: 10%;
 width: 470px;
 height: 470px;
}

.account-shell {
 position: relative;
 z-index: 2;
 display: grid;
 grid-template-columns: minmax(0, 0.72fr) minmax(620px, 1.28fr);
 align-items: center;
 gap: 76px;
 width: min(calc(100% - 48px), 1240px);
 margin-inline: auto;
}

.account-intro {
 position: relative;
 padding: 50px 0;
}

.account-intro h1 {
 margin-bottom: 32px;
 font-size: clamp(4.1rem, 6.6vw, 6.9rem);
 font-weight: 680;
 letter-spacing: -0.078em;
 line-height: 0.9;
}

.account-intro h1 span {
 display: inline-block;
 color: transparent;
 background:
   linear-gradient(
     100deg,
     #8e6b27,
     #c5a15c 45%,
     #8e6b27
   );
 background-clip: text;
 -webkit-background-clip: text;
}

.account-description {
 max-width: 500px;
 margin-bottom: 38px;
 font-size: 1.08rem;
 line-height: 1.74;
}

.account-floating-card {
 position: relative;
 top: auto;
 right: auto;
 bottom: auto;
 left: auto;
 width: fit-content;
 min-width: 280px;
}

.account-panel {
 position: relative;
 overflow: hidden;
 padding: 38px;
 background:
   linear-gradient(
     145deg,
     rgba(255, 255, 255, 0.88),
     rgba(248, 246, 240, 0.76)
   );
 border: 1px solid rgba(255, 255, 255, 0.92);
 border-radius: 36px;
 box-shadow:
   0 45px 110px rgba(36, 30, 20, 0.18),
   0 0 0 1px rgba(74, 61, 37, 0.06),
   inset 0 1px 0 rgba(255, 255, 255, 0.95);
 backdrop-filter: blur(28px);
}

.account-panel::before {
 content: "";
 position: absolute;
 top: -170px;
 right: -140px;
 width: 430px;
 height: 430px;
 background:
   radial-gradient(
     circle,
     rgba(225, 203, 154, 0.34),
     transparent 68%
   );
 border-radius: 50%;
 pointer-events: none;
}

.account-panel-header {
 position: relative;
 z-index: 2;
 display: flex;
 align-items: center;
 gap: 18px;
 margin-bottom: 28px;
}

.account-logo {
 width: 62px;
 height: 62px;
 object-fit: contain;
 filter:
   drop-shadow(
     0 14px 22px rgba(76, 59, 24, 0.13)
   );
}

.account-panel-header .section-label {
 margin-bottom: 7px;
}

.account-panel-header h2 {
 margin: 0;
 font-size: clamp(2rem, 3vw, 3rem);
 letter-spacing: -0.055em;
 line-height: 1;
}

.account-options {
 position: relative;
 z-index: 2;
 display: grid;
 grid-template-columns: 0.92fr auto 1.08fr;
 align-items: stretch;
 gap: 24px;
}

.account-option {
 padding: 26px;
 background: rgba(255, 255, 255, 0.64);
 border: 1px solid rgba(31, 30, 26, 0.07);
 border-radius: 25px;
 box-shadow:
   0 18px 44px rgba(38, 32, 21, 0.07),
   inset 0 1px 0 rgba(255, 255, 255, 0.88);
}

.signup-option {
 background:
   linear-gradient(
     150deg,
     rgba(246, 239, 222, 0.92),
     rgba(255, 255, 255, 0.76)
   );
 border-color: rgba(182, 144, 79, 0.15);
}

.account-option-heading {
 display: flex;
 align-items: center;
 gap: 14px;
 margin-bottom: 24px;
}

.account-option-icon {
 display: grid;
 place-items: center;
 flex: 0 0 auto;
 width: 42px;
 height: 42px;
 color: #f4efe4;
 background:
   linear-gradient(
     145deg,
     #292822,
     #121210
   );
 border-radius: 13px;
 box-shadow:
   0 12px 24px rgba(24, 22, 17, 0.18),
   inset 0 1px 0 rgba(255, 255, 255, 0.11);
 font-size: 0.95rem;
}

.gold-icon {
 color: #806020;
 background:
   linear-gradient(
     145deg,
     #f5e8ca,
     #dfc27d
   );
 box-shadow:
   0 12px 26px rgba(87, 67, 28, 0.14),
   inset 0 1px 0 rgba(255, 255, 255, 0.52);
}

.account-kicker {
 margin-bottom: 4px;
 color: #89867d;
 font-size: 0.7rem;
 font-weight: 650;
 letter-spacing: 0.02em;
}

.account-option h3 {
 margin-bottom: 0;
 font-size: 1.45rem;
 font-weight: 680;
 letter-spacing: -0.04em;
}

.account-form {
 display: grid;
 gap: 16px;
}

.form-field {
 display: grid;
 gap: 8px;
}

.form-field label {
 color: #494842;
 font-size: 0.74rem;
 font-weight: 650;
}

.field-label-row {
 display: flex;
 align-items: center;
 justify-content: space-between;
 gap: 15px;
}

.forgot-password {
 color: var(--gold-dark);
 font-size: 0.68rem;
 font-weight: 650;
}

.forgot-password:hover {
 text-decoration: underline;
}

.form-field input {
 width: 100%;
 min-height: 48px;
 padding: 0 15px;
 color: var(--ink);
 background: rgba(255, 255, 255, 0.82);
 border: 1px solid rgba(31, 30, 26, 0.1);
 border-radius: 13px;
 outline: none;
 box-shadow:
   inset 0 1px 2px rgba(38, 32, 21, 0.035),
   0 5px 14px rgba(38, 32, 21, 0.025);
 font-size: 0.83rem;
 transition:
   border-color 160ms ease,
   box-shadow 160ms ease,
   background 160ms ease;
}

.form-field input::placeholder {
 color: #aaa79e;
}

.form-field input:focus {
 background: #fff;
 border-color: rgba(182, 144, 79, 0.5);
 box-shadow:
   0 0 0 4px rgba(182, 144, 79, 0.1),
   0 8px 22px rgba(38, 32, 21, 0.05);
}

.account-button {
 width: 100%;
 min-height: 50px;
 margin-top: 4px;
 padding-inline: 20px;
 gap: 12px;
 border: 0;
 cursor: pointer;
 font-size: 0.8rem;
}

.signup-button {
 min-height: 52px;
 color: #211f19;
}

.account-price {
 margin-bottom: 22px;
 padding: 18px;
 background: rgba(255, 255, 255, 0.6);
 border: 1px solid rgba(182, 144, 79, 0.14);
 border-radius: 18px;
 box-shadow:
   inset 0 1px 0 rgba(255, 255, 255, 0.82);
}

.introductory-price {
 display: flex;
 align-items: baseline;
 margin-bottom: 7px;
}

.price-currency {
 align-self: flex-start;
 margin-top: 8px;
 margin-right: 3px;
 color: var(--gold-dark);
 font-size: 1rem;
 font-weight: 700;
}

.introductory-price strong {
 color: var(--ink);
 font-size: 3.1rem;
 font-weight: 690;
 letter-spacing: -0.07em;
 line-height: 0.9;
}

.price-period {
 margin-left: 9px;
 color: #6e6b63;
 font-size: 0.72rem;
 font-weight: 620;
}

.account-price p {
 margin: 0;
 color: #858178;
 font-size: 0.7rem;
 line-height: 1.5;
}

.payment-note {
 margin: 13px 0 0;
 color: #959188;
 font-size: 0.65rem;
 line-height: 1.5;
 text-align: center;
}

.account-divider {
 position: relative;
 display: grid;
 place-items: center;
 width: 1px;
 background:
   linear-gradient(
     180deg,
     transparent,
     rgba(31, 30, 26, 0.12) 18%,
     rgba(31, 30, 26, 0.12) 82%,
     transparent
   );
}

.account-divider span {
 position: absolute;
 display: grid;
 place-items: center;
 width: 34px;
 height: 34px;
 color: #9b978d;
 background: #f7f5ef;
 border: 1px solid rgba(31, 30, 26, 0.07);
 border-radius: 50%;
 font-size: 0.64rem;
 font-weight: 650;
}

.account-status-card {
 right: 40px;
 bottom: -36px;
 left: auto;
 min-width: 270px;
}

@media (max-width: 1180px) {
 .account-main {
   padding-top: 135px;
 }

 .account-shell {
   grid-template-columns: 1fr;
   gap: 34px;
   max-width: 860px;
 }

 .account-intro {
   max-width: 690px;
   padding: 20px 0;
 }

 .account-intro h1 {
   font-size: clamp(4rem, 9vw, 6.6rem);
 }

 .account-description {
   max-width: 620px;
 }

 .account-floating-card {
   display: none;
 }

 .account-status-card {
   right: 30px;
 }
}

@media (max-width: 760px) {
 .account-main {
   display: block;
   min-height: 100vh;
   padding: 120px 0 70px;
 }

 .account-shell {
   width: min(calc(100% - 30px), 680px);
 }

 .account-intro {
   padding: 10px 0;
   text-align: center;
 }

 .account-intro h1 {
   margin-bottom: 24px;
   font-size: clamp(3.6rem, 15vw, 5.5rem);
 }

 .account-description {
   max-width: 560px;
   margin-inline: auto;
 }

 .account-panel {
   padding: 25px;
   border-radius: 28px;
 }

 .account-panel-header {
   justify-content: center;
   text-align: left;
 }

 .account-options {
   grid-template-columns: 1fr;
   gap: 18px;
 }

 .account-divider {
   width: 100%;
   height: 1px;
   background:
     linear-gradient(
       90deg,
       transparent,
       rgba(31, 30, 26, 0.12) 18%,
       rgba(31, 30, 26, 0.12) 82%,
       transparent
     );
 }

 .account-divider span {
   background: #f7f5ef;
 }

 .account-status-card {
   position: relative;
   right: auto;
   bottom: auto;
   left: auto;
   width: fit-content;
   min-width: 0;
   margin: 20px auto 0;
 }

 .account-orbit-one {
   top: 12%;
   right: -230px;
 }

 .account-orbit-two {
   top: 18%;
   right: -160px;
 }
}

@media (max-width: 560px) {
 .account-header .nav-shell {
   min-height: 76px;
 }

 .account-header .brand-mark {
   width: 28px;
   height: 28px;
 }

 .account-back-link {
   padding: 9px 13px;
   font-size: 0.7rem;
 }

 .account-main {
   padding-top: 105px;
 }

 .account-intro h1 {
   font-size: clamp(3.35rem, 16vw, 4.6rem);
 }

 .account-description {
   font-size: 0.96rem;
 }

 .account-panel {
   padding: 18px;
   border-radius: 24px;
 }

 .account-panel-header {
   justify-content: flex-start;
   gap: 13px;
 }

 .account-logo {
   width: 48px;
   height: 48px;
 }

 .account-panel-header h2 {
   font-size: 1.85rem;
 }

 .account-option {
   padding: 21px 18px;
   border-radius: 20px;
 }

 .account-option-heading {
   margin-bottom: 20px;
 }

 .account-option h3 {
   font-size: 1.3rem;
 }

 .form-field input {
   min-height: 46px;
 }

 .account-status-card {
   padding: 12px 14px;
 }

 .account-status-card small {
   max-width: 210px;
 }
}

.account-back-link-2 {
 display: inline-flex;
 align-items: center;
 justify-self: end;
 margin-right: 600px;
 margin-top: -150px;
 gap: 10px;
 padding: 11px 18px;
 color: rgba(23, 23, 20, 0.66);
 background: rgba(255, 255, 255, 0.58);
 border: 1px solid rgba(23, 23, 20, 0.08);
 border-radius: 999px;
 box-shadow:
   0 9px 26px rgba(37, 31, 20, 0.07),
   inset 0 1px 0 rgba(255, 255, 255, 0.82);
 backdrop-filter: blur(18px);
 font-size: 0.82rem;
 font-weight: 650;
 transition:
   transform 160ms ease,
   background 160ms ease,
   color 160ms ease;
}

.account-back-link:hover {
 color: var(--ink);
 background: rgba(255, 255, 255, 0.9);
 transform: translateY(-1px);
}

.account-back-link span {
 color: var(--gold-dark);
}
.error-page {
   min-height: 100vh;
   margin: 0;
   background:
       radial-gradient(circle at 18% 20%, rgba(218, 192, 118, 0.18), transparent 28%),
       radial-gradient(circle at 80% 78%, rgba(190, 160, 90, 0.14), transparent 30%),
       var(--background);
   overflow: hidden;
}

.error-shell {
   min-height: 100vh;
   display: flex;
   align-items: center;
   justify-content: center;
   padding: 80px 24px;
   box-sizing: border-box;
}

.error-card {
   width: min(92vw, 560px);
   padding: 48px 52px 44px;
   text-align: center;
   border-radius: 36px;
   background: rgba(255, 255, 255, 0.72);
   border: 1px solid rgba(195, 154, 60, 0.18);
   box-shadow:
       0 24px 70px rgba(37, 31, 20, 0.12),
       inset 0 1px 0 rgba(255, 255, 255, 0.8);
   backdrop-filter: blur(18px);
}

.error-code {
   margin: 0 0 12px;
   font-size: 13px;
   font-weight: 800;
   letter-spacing: 0.22em;
   color: var(--gold-dark);
}

.error-card h1 {
   margin: 18px 0 14px;
   font-size: clamp(42px, 6vw, 72px);
   line-height: 0.95;
   letter-spacing: -0.06em;
   color: var(--ink);
}

.error-card p {
   max-width: 390px;
   margin: 0 auto 14px;
   font-size: 16px;
   line-height: 1.65;
   color: var(--muted);
}

.error-small {
   font-size: 14px !important;
}

.lost-road {
   position: relative;
   width: 320px;
   height: 190px;
   margin: 10px auto 8px;
}

.gold-road {
   position: absolute;
   left: 82px;
   bottom: 8px;
   width: 170px;
   height: 150px;
   background: linear-gradient(160deg, #f5d75f 0%, #c79a28 52%, #f6e38c 100%);
   clip-path: polygon(44% 100%, 70% 100%, 55% 45%, 88% 0, 62% 0, 43% 43%);
   filter: drop-shadow(0 10px 20px rgba(162, 119, 23, 0.28));
   transform: rotate(-4deg);
   opacity: 0.95;
}

.mist {
   position: absolute;
   border-radius: 999px;
   background: rgba(216, 222, 220, 0.72);
   filter: blur(6px);
}

.mist-one {
   width: 190px;
   height: 58px;
   left: 22px;
   bottom: 12px;
}

.mist-two {
   width: 210px;
   height: 70px;
   right: 16px;
   bottom: 42px;
   opacity: 0.75;
}

.wrong-sign {
   position: absolute;
   right: 28px;
   bottom: 46px;
   padding: 10px 14px;
   border-radius: 8px;
   background: linear-gradient(180deg, #7a5428, #4f351b);
   color: #fff8e8;
   font-size: 15px;
   font-weight: 800;
   line-height: 1.08;
   letter-spacing: 0.01em;
   box-shadow: 0 10px 22px rgba(61, 41, 20, 0.24);
   transform: rotate(2deg);
}

.wrong-sign::after {
   content: "";
   position: absolute;
   left: 50%;
   top: 100%;
   width: 8px;
   height: 48px;
   background: #4f351b;
   transform: translateX(-50%);
   border-radius: 0 0 4px 4px;
}

.error-actions {
   display: flex;
   justify-content: center;
   gap: 14px;
   margin-top: 26px;
}

.error-button {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   min-width: 145px;
   padding: 14px 18px;
   border-radius: 999px;
   font-size: 14px;
   font-weight: 800;
   text-decoration: none;
   transition:
       transform 160ms ease,
       background 160ms ease,
       color 160ms ease;
}

.error-button.light {
   color: var(--ink);
   background: rgba(255, 255, 255, 0.76);
   border: 1px solid rgba(23, 23, 20, 0.08);
}

.error-button.dark {
   color: white;
   background: var(--ink);
   border: 1px solid rgba(23, 23, 20, 0.18);
}

.error-button:hover {
   transform: translateY(-1px);
} 

.email-signup {
   margin-top: 75px;
}

.email-signup-small {
   display: flex;
   flex-direction: column;
   align-items: center;
   text-align: center;
}

.email-signup-title {
   margin: 0 0 6px;
   font-size: 15px;
   font-weight: 800;
   color: var(--ink);
}

.email-signup-copy {
   max-width: 440px;
   margin: 0 auto 16px;
   font-size: 14px;
   line-height: 1.5;
   color: var(--muted);
}

.email-signup-row {
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 10px;
   width: min(100%, 470px);
   margin-inline: auto;
}

.email-signup-row input {
   flex: 1;
   min-width: 0;
   height: 48px;
   padding: 0 18px;
   border-radius: 999px;
   border: 1.5px solid #c39a3c;;
   background: rgba(255, 255, 255, 0.74);
   color: var(--ink);
   font: inherit;
   outline: none;
   box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.82);
}

.email-signup-row input:focus {
   border-color: rgba(195, 154, 60, 0.55);
   box-shadow:
       0 0 0 4px rgba(195, 154, 60, 0.12),
       inset 0 1px 0 rgba(255, 255, 255, 0.82);
}

.email-signup-row button {
   height: 48px;
   padding: 0 22px;
   border: none;
   border-radius: 999px;
   background: var(--ink);
   color: #fff;
   font-size: 13px;
   font-weight: 800;
   cursor: pointer;
   white-space: nowrap;
}

.email-signup-row button:hover {
   transform: translateY(-1px);
}


/* WAITLIST PAGE */

.waitlist-page {
 min-height: 100vh;
 margin: 0;
 padding: 34px;

 display: flex;
 align-items: center;
 justify-content: center;

 font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
 color: #171511;

 background:
   radial-gradient(circle at 18% 12%, rgba(212, 175, 55, 0.16), transparent 34%),
   radial-gradient(circle at 82% 74%, rgba(121, 85, 39, 0.14), transparent 38%),
   linear-gradient(135deg, #f7f3ea 0%, #ebe2d2 44%, #d3c4ad 100%);
}

.waitlist-shell {
 width: min(1040px, 100%);
 position: relative;
}

.waitlist-card {
 position: relative;
 overflow: hidden;

 border-radius: 42px;
 padding: clamp(34px, 6vw, 72px);

 background:
   linear-gradient(145deg, rgba(255, 252, 244, 0.92), rgba(232, 224, 208, 0.76));

 border: 1px solid rgba(255, 255, 255, 0.78);

 box-shadow:
   0 34px 90px rgba(62, 48, 28, 0.24),
   inset 0 1px 0 rgba(255, 255, 255, 0.82);

 backdrop-filter: blur(22px);
}

.waitlist-card::before {
 content: "";
 position: absolute;
 right: -120px;
 top: -120px;
 width: 380px;
 height: 380px;
 border-radius: 50%;

 background:
   radial-gradient(circle, rgba(212, 175, 55, 0.28), transparent 66%);

 pointer-events: none;
}

.waitlist-card::after {
 content: "";
 position: absolute;
 left: -160px;
 bottom: -180px;
 width: 420px;
 height: 420px;
 border-radius: 50%;

 background:
   radial-gradient(circle, rgba(23, 21, 17, 0.08), transparent 62%);

 pointer-events: none;
}

.waitlist-inner {
 position: relative;
 z-index: 2;
 max-width: 740px;
}

.waitlist-kicker {
 margin: 0 0 18px;

 color: #9b792e;
 font-size: 0.78rem;
 font-weight: 850;
 letter-spacing: 0.2em;
 text-transform: uppercase;
}

.waitlist-card h1 {
 margin: 0;

 color: #171511;
 font-size: clamp(2.8rem, 7vw, 5.9rem);
 line-height: 0.92;
 letter-spacing: -0.07em;
}

.waitlist-card h1 span {
 color: #b8923e;
}

.waitlist-copy {
 margin: 28px 0 0;
 max-width: 650px;

 color: rgba(23, 21, 17, 0.72);
 font-size: clamp(1.04rem, 2vw, 1.28rem);
 line-height: 1.65;
 font-weight: 520;
}

.waitlist-note {
 margin-top: 28px;
 max-width: 640px;
 padding: 18px 20px;

 border-radius: 22px;
 background: rgba(255, 255, 255, 0.54);
 border: 1px solid rgba(184, 146, 62, 0.24);

 color: rgba(23, 21, 17, 0.68);
 font-size: 0.96rem;
 line-height: 1.55;
}

.waitlist-actions {
 display: flex;
 gap: 14px;
 flex-wrap: wrap;
 margin-top: 34px;
}

.waitlist-btn {
 display: inline-flex;
 align-items: center;
 justify-content: center;

 min-height: 48px;
 padding: 0 22px;
 border-radius: 999px;

 text-decoration: none;
 font-size: 0.88rem;
 font-weight: 850;
 letter-spacing: 0.08em;
 text-transform: uppercase;

 transition:
   transform 0.18s ease,
   box-shadow 0.18s ease;
}

.waitlist-btn:hover {
 transform: translateY(-2px);
}

.waitlist-btn.gold {
 color: #171511;
 background: linear-gradient(135deg, #e8c567, #b58a32);
 box-shadow: 0 14px 34px rgba(151, 112, 42, 0.28);
}

.waitlist-btn.dark {
 color: #f7edd3;
 background: #171511;
 box-shadow: 0 14px 34px rgba(0, 0, 0, 0.24);
}

.waitlist-footer {
 margin-top: 28px;

 color: rgba(23, 21, 17, 0.42);
 font-size: 0.82rem;
 font-weight: 750;
 letter-spacing: 0.12em;
 text-transform: uppercase;
}

@media (max-width: 720px) {
 .waitlist-page {
   padding: 18px;
 }

 .waitlist-card {
   border-radius: 30px;
   padding: 32px 24px;
 }

 .waitlist-actions {
   flex-direction: column;
 }

 .waitlist-btn {
   width: 100%;
 }
}
#manuscript-import-export-card {
    margin-block: 48px;
}
#editing-card {
    margin-block: 48px;
}
#world-card {
    margin-block: 48px;
}
#article-feature-image {
    display: block;
    width: 75%;
    height: auto;
    margin: 40px auto;
}
/* =========================================================
   CLOUDFIC WEBSITE FEEDBACK
   ========================================================= */

.cloudfic-feedback-section {
    position: relative;
    padding: 90px 24px;
    overflow: hidden;
    background:
        radial-gradient(
            circle at 50% 20%,
            rgba(220, 192, 126, 0.18),
            transparent 42%
        ),
        #f4f0e7;
}

.cloudfic-feedback-card {
    max-width: 860px;
    margin: 0 auto;
    padding: 52px;
    text-align: center;

    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.94),
            rgba(248, 243, 232, 0.9)
        );

    border: 1px solid rgba(170, 128, 42, 0.2);
    border-radius: 34px;

    box-shadow:
        0 28px 70px rgba(50, 40, 22, 0.12),
        inset 0 1px 0 rgba(255, 255, 255, 0.92);
}

.cloudfic-feedback-card h2 {
    max-width: 680px;
    margin: 10px auto 16px;

    color: #171714;
    font-size: clamp(2.2rem, 5vw, 4.4rem);
    font-weight: 650;
    letter-spacing: -0.055em;
    line-height: 1;
}

.cloudfic-feedback-copy {
    max-width: 620px;
    margin: 0 auto;

    color: #777169;
    font-size: 1rem;
    line-height: 1.7;
}

.cloudfic-feedback-actions {
    display: flex;
    justify-content: center;
    gap: 16px;
    margin-top: 34px;
}

.cloudfic-feedback-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;

    min-width: 150px;
    min-height: 52px;
    padding: 0 24px;

    color: #211f19;
    background: rgba(255, 255, 255, 0.92);

    border: 1px solid rgba(170, 128, 42, 0.24);
    border-radius: 999px;

    box-shadow:
        0 13px 28px rgba(59, 46, 22, 0.1),
        inset 0 1px 0 rgba(255, 255, 255, 0.95);

    font: inherit;
    font-size: 0.9rem;
    font-weight: 750;

    cursor: pointer;

    transition:
        transform 0.18s ease,
        border-color 0.18s ease,
        background 0.18s ease,
        box-shadow 0.18s ease;
}

.cloudfic-feedback-button span {
    font-size: 1.1rem;
}

.cloudfic-feedback-button:hover {
    transform: translateY(-2px);
    border-color: rgba(154, 112, 33, 0.58);

    box-shadow:
        0 17px 34px rgba(59, 46, 22, 0.14),
        inset 0 1px 0 rgba(255, 255, 255, 0.96);
}

.cloudfic-feedback-button.selected {
    color: #ffffff;
    background: #9a7021;
    border-color: #9a7021;

    box-shadow:
        0 16px 34px rgba(106, 74, 19, 0.25),
        inset 0 1px 0 rgba(255, 255, 255, 0.18);
}

.cloudfic-feedback-followup {
    max-width: 700px;
    margin: 30px auto 0;
    padding-top: 28px;

    border-top: 1px solid rgba(170, 128, 42, 0.16);
}

.cloudfic-feedback-followup[hidden] {
    display: none;
}

.cloudfic-feedback-followup p {
    margin: 0 0 18px;

    color: #28261f;
    font-size: 0.9rem;
    font-weight: 760;
}

.cloudfic-feedback-reasons {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
}

.cloudfic-feedback-reason {
    min-height: 38px;
    padding: 0 15px;

    color: #6f675d;
    background: rgba(255, 255, 255, 0.7);

    border: 1px solid rgba(170, 128, 42, 0.2);
    border-radius: 999px;

    font: inherit;
    font-size: 0.76rem;
    font-weight: 700;

    cursor: pointer;

    transition:
        transform 0.16s ease,
        color 0.16s ease,
        border-color 0.16s ease,
        background 0.16s ease;
}

.cloudfic-feedback-reason:hover {
    transform: translateY(-1px);
    color: #5d4312;
    border-color: rgba(154, 112, 33, 0.48);
}

.cloudfic-feedback-reason.selected {
    color: #ffffff;
    background: #9a7021;
    border-color: #9a7021;
}

.cloudfic-feedback-thanks {
    margin: 20px 0 0;

    color: #806020;
    font-size: 0.84rem;
    font-weight: 750;
}

.cloudfic-feedback-thanks[hidden] {
    display: none;
}

@media (max-width: 700px) {
    .cloudfic-feedback-section {
        padding: 62px 18px;
    }

    .cloudfic-feedback-card {
        padding: 36px 22px;
        border-radius: 28px;
    }

    .cloudfic-feedback-actions {
        flex-direction: column;
    }

    .cloudfic-feedback-button {
        width: 100%;
    }

    .cloudfic-feedback-reasons {
        align-items: stretch;
        flex-direction: column;
    }

    .cloudfic-feedback-reason {
        width: 100%;
        padding: 10px 14px;
    }
}
/* --------------------------------------------------
   COOKIE CONSENT
-------------------------------------------------- */

.cookie-consent {
    position: fixed;
    z-index: 1000;
    right: 26px;
    bottom: 26px;

    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        auto;
    align-items: center;
    gap: 28px;

    width: min(
        calc(100% - 52px),
        760px
    );

    padding: 25px 27px;

    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.94),
            rgba(247, 243, 233, 0.92)
        );

    border:
        1px solid
        rgba(182, 144, 79, 0.2);

    border-radius: 25px;

    box-shadow:
        0 28px 75px
        rgba(37, 31, 20, 0.18),
        inset 0 1px 0
        rgba(255, 255, 255, 0.95);

    backdrop-filter: blur(24px);
}

.cookie-consent[hidden] {
    display: none;
}

.cookie-consent-copy {
    min-width: 0;
}

.cookie-consent-label {
    margin: 0 0 7px;

    color: var(--gold-dark);

    font-size: 0.67rem;
    font-weight: 750;
    letter-spacing: 0.15em;
    line-height: 1.2;
    text-transform: uppercase;
}

.cookie-consent h2 {
    margin: 0 0 9px;

    color: var(--ink);

    font-size: 1.42rem;
    font-weight: 680;
    letter-spacing: -0.045em;
    line-height: 1.05;
}

.cookie-consent-copy > p:last-child {
    max-width: 480px;
    margin: 0;

    color: var(--muted);

    font-size: 0.79rem;
    line-height: 1.55;
}

.cookie-consent-actions {
    display: grid;
    gap: 9px;

    min-width: 185px;
}

.cookie-button {
    min-height: 43px;
    padding: 0 17px;

    border-radius: 999px;

    cursor: pointer;

    font-size: 0.72rem;
    font-weight: 700;

    transition:
        transform 160ms ease,
        background 160ms ease,
        border-color 160ms ease;
}

.cookie-button:hover {
    transform: translateY(-1px);
}

.cookie-button-primary {
    color: #fff;

    background:
        linear-gradient(
            135deg,
            #292822,
            #121210
        );

    border:
        1px solid
        rgba(255, 255, 255, 0.12);

    box-shadow:
        0 11px 25px
        rgba(24, 22, 17, 0.18);
}

.cookie-button-secondary {
    color: #55534d;

    background:
        rgba(255, 255, 255, 0.58);

    border:
        1px solid
        rgba(31, 30, 26, 0.1);
}

.cookie-button-secondary:hover {
    color: var(--ink);

    background:
        rgba(255, 255, 255, 0.9);
}

@media (max-width: 700px) {
    .cookie-consent {
        right: 15px;
        bottom: 15px;
        left: 15px;

        grid-template-columns: 1fr;
        gap: 20px;

        width: auto;

        padding: 22px;

        border-radius: 22px;
    }

    .cookie-consent-actions {
        grid-template-columns: 1fr;
        min-width: 0;
    }

    .cookie-button {
        width: 100%;
    }
}
.cookie-consent-backdrop {
    position: fixed;
    z-index: 999;
    inset: 0;

    background:
        rgba(247, 246, 242, 0.28);

    backdrop-filter:
        blur(13px)
        saturate(0.75);

    -webkit-backdrop-filter:
        blur(13px)
        saturate(0.75);
}

.cookie-consent-backdrop[hidden] {
    display: none;
}

body.cookie-choice-open {
    overflow: hidden;
}

.cookie-consent {
    z-index: 1000;
}
