:root
{
    --navy:#020D17;
    --cream:#f4eddf;
    --gold:#C9A46A;
    --gold2:#c9a15d;
    --gold-ink:#846026;
    --focus-dark:#6b4814;
    --focus-light:#f2c97d;
    --ink:#182027;
    --line:#3a3a34
}

*{box-sizing:border-box}

html
{
    scroll-behavior:smooth
}

@font-face {
    font-family: "Cormorant-Regular";
    src: url("fonts/Cormorant-Regular.woff2") format("woff2");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Cormorant-SemiBold";
    src: url("fonts/Cormorant-SemiBold.woff2") format("woff2");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "PlayfairDisplay";
    src: url("fonts/PlayfairDisplay.woff2") format("woff2");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

/* Legal and feedback layouts use the typographic family names below. Map
   them to the bundled files so browsers do not fall back to a generic serif. */
@font-face {
    font-family: "Cormorant Garamond";
    src: url("fonts/Cormorant-Regular.woff2") format("woff2");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Cormorant Garamond";
    src: url("fonts/Cormorant-SemiBold.woff2") format("woff2");
    font-weight: 500 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Playfair Display";
    src: url("fonts/PlayfairDisplay.woff2") format("woff2");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

body
{
    margin:0;
    background:var(--navy);
    color:#fff;
    font-family: "Cormorant-Regular", sans-serif;
}

.shell
{
    padding-top: 14px;
    padding-bottom: 14px;
    width:min(1160px,calc(100% - 72px));
    margin:auto
}

.dark
{
    background:var(--navy)
}

.hero
{
     height:90vh;
    background-image: url("assets/hero-desktop.webp");
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
}

.light
{
    background:var(--cream);
    color:var(--ink)
}

.light .eyebrow
{
    color:var(--gold-ink);
}

a
{
    text-decoration:none;
    color:inherit;
    cursor:pointer
}

:where(a, button, input, textarea, select, [tabindex]):focus-visible
{
    outline:3px solid var(--focus-light);
    outline-offset:4px;
}

.light :where(a, button, input, textarea, select, [tabindex]):focus-visible
{
    outline-color:var(--focus-dark);
}

.nav
{
    height:78px;
    display:flex;
    align-items:center;
}

.logo {
    display: block;
    width: 150px;
    height: auto;
    flex-shrink: 0;
}

.logo img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
}
.navlinks
{
    display:flex;
    gap:37px;
    margin-left:40px;
    font-size: 18px
}

.navright
{
    display:flex;
    align-items:center;
    gap:16px;
     margin-left:auto;
}


.langs {
    position: relative;

    width: 100px;
    height: 50px;

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

.langs-frame {
    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;

    overflow: visible;
    pointer-events: none;
}

.langs-frame path {
    fill: transparent;
    stroke: #d1aa64;
    stroke-width: 1;
    vector-effect: non-scaling-stroke;
}

.langs-content {
    position: relative;
    z-index: 1;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.langs button,
.langs a {
    margin: 0;
    padding: 0;

    border: 0;
    border-radius: 0;
    background: transparent;

    color: #f4eddf;

    font-family: Georgia, serif;
    font-size: 18px;
    line-height: 1;

    cursor: pointer;
}

.langs .active {
    background: transparent;
    color: #d1aa64;
}

.langs-content span {
    color: #f4eddf;
    font-family: Georgia, serif;
    font-size: 22px;
    line-height: 1;
}

.nav-fancy-btn
{
    position:relative;

    width:200px;
    height:50px;

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

    color:#172029;
    text-decoration:none;

    flex-shrink:0;
}

.nav-fancy-btn-bg
{
    position:absolute;
    inset:0;

    width:100%;
    height:100%;

    overflow:visible;
}

.nav-fancy-btn-bg path
{
    fill:var(--gold);
}

.nav-fancy-btn span
{
    position:relative;
    z-index:1;

    font-family: "Cormorant-SemiBold", sans-serif;
    font-size: 18px;
}

.btn
{
    min-height:34px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:8px 19px;
    border-radius:3px;
    font-size:10px;
    letter-spacing:.02em
}

.btn-gold
{
    --cut: 10px;

    position: relative;

    min-width: 200px;
    height: 50px;
    padding: 0 28px;

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

    background: var(--gold);
    color: #172029;

    border: 0;
    border-radius: 0;

    font: 17px/1 Georgia, serif;

    clip-path: polygon(
        var(--cut) 0,

        calc(100% - var(--cut)) 0,
        calc(100% - var(--cut)) 5px,
        calc(100% - 5px) var(--cut),
        100% var(--cut),

        100% calc(100% - var(--cut)),
        calc(100% - 5px) calc(100% - var(--cut)),
        calc(100% - var(--cut)) calc(100% - 5px),
        calc(100% - var(--cut)) 100%,

        var(--cut) 100%,
        var(--cut) calc(100% - 5px),
        5px calc(100% - var(--cut)),
        0 calc(100% - var(--cut)),

        0 var(--cut),
        5px var(--cut),
        var(--cut) 5px
    );
}

.btn-outline
{
    border:1px solid #6b655b;
    color:#e9e3d8;
    background:transparent
}

.btn-dark
{
    background:var(--navy);
    color:#fff;
    padding-inline:30px
}

.hero-grid {
    height: calc(90vh - 78px);
    display: flex;
    align-items: center;
}

.hero-copy
{
    width: 49%;
    padding:50px 0 100px
}

.eyebrow
{
    font-size: 20px;
    font-family: "Cormorant-Regular", sans-serif;
    color:#C9A46A;
}

.hero h1,.products h2,.light h2,.gold-band h2,.contacts h2
{
    font-family: "PlayfairDisplay", sans-serif;
    font-weight:400;
    color: #F6EFE4;
    margin:10px 0;
    font-size: 65px;
}

.hero-copy p
{
    max-width:470px;
    color:#fff;
    font-size: 20px;
    font-family: "Cormorant-Regular", sans-serif;
}

.moon-row
{
    margin-top: 21px;
    margin-bottom: 33px;
}

.hero-note
{
    display:flex;
    align-items:center;
    gap:9px;

    margin-top:25px;

    color:#d8d1c6;
    font-size: 14px;
    font-family: "Cormorant-Regular", sans-serif;
}

.hero-note-dot
{
    width:9px;
    height:9px;
    flex:0 0 9px;

    background:var(--gold);
    border-radius:50%;
}

.actions
{
    display:flex;
    gap:28px;
    margin-top:40px;
}

.hero-fancy-btn
{
    position:relative;

     width:200px;
    height:50px;

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

    flex-shrink:0;

    text-decoration:none;
    background:transparent;
    border:0;
    border-radius:0;
    clip-path:none;
}

.hero-fancy-btn svg
{
    position:absolute;
    inset:0;

    width:100%;
    height:100%;

    overflow:visible;
    pointer-events:none;
}

.hero-fancy-btn > span
{
    position:relative;
    z-index:2;

       font-family: "Cormorant-SemiBold", sans-serif;
    font-size: 18px;
    white-space:nowrap;
}

.hero-fancy-btn--gold svg path
{
    fill:var(--gold);
    stroke:none;
}

.hero-fancy-btn--gold
{
    color:#172029;
}

.hero-fancy-btn--outline svg path
{
    fill:transparent;
    stroke:var(--gold);
    stroke-width:1;
    vector-effect:non-scaling-stroke;
}

.hero-fancy-btn--outline
{
    color:var(--cream);
}

.hero-fancy-btn b
{
    font-family:Arial,sans-serif;
    font-weight:400;
    margin-left:12px;
}

.metrics-section
{
    background:var(--navy)
}

.metrics
{
    display:grid;
    grid-template-columns:repeat(4,1fr);
}

.metrics > div
{
    position: relative;

    padding: 24px 30px 28px;

    display: grid;

        text-align:center;
    justify-items:center;
}

.metrics > div::after
{
    content: "";

    position: absolute;

    right: 0;
    top: 50%;

    width: 20px;
    height: 70%;

    transform: translate(50%, -50%);

    background-image: url("assets/metric-divider.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;

    z-index: 2;
}

.metrics > div:last-child::after
{
    display: none;
}

.metrics b
{
    font-family: "Cormorant-Regular", sans-serif;
    font-size: 65px;
    color:#C9A46A;
    font-weight: 400;
}

.metrics strong
{
    font-family: "PlayfairDisplay", sans-serif;
    font-weight: 400;
    font-size: 24px;
    margin-top: 10px;
    margin-bottom: 15px;
}

.metrics span
{
    font-family: "Cormorant-Regular", sans-serif;
    font-weight: 400;
    font-size:15px;
    color:#fff;
}

.center
{
    text-align:center
}

.formats
{
    padding:68px 0 68px
}

.formats h2
{
    font-size:50px;
    margin:6px 0 5px;
    color: #020D17;
}

.lead
{
        font-family: "Cormorant-Regular", sans-serif;
    font-weight: 400;
    color:#000;
    font-size: 20px;
}

.format-grid
{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    max-width:900px;
    margin:42px auto 0
}

.format-grid article>span
{
    color:var(--gold-ink);
    font:13px Georgia
}

.format-grid
{
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));

    gap:24px;

    max-width:1280px;
    margin:42px auto 0;
}

.format-card
{
    position:relative;
    height:430px;

    padding:15px 28px 54px;

    display:flex;
    justify-content:center;

    border:0;
}

.format-frame
{
    position:absolute;

    inset:0;

    width:100%;
    height:100%;

    object-fit:fill;

    pointer-events:none;

    z-index:0;
}

.format-content
{
    position:relative;
    z-index:1;

    width:100%;
    height:100%;

    display:flex;
    flex-direction:column;
    align-items:center;

    text-align:center;
}

.format-number
{
    color:var(--gold-ink);

            font-family: "Cormorant-Regular", sans-serif;
    font-weight: 400;
    font-size: 50px;
}


.format-category
{
font-size: 20px;
    font-family: "Cormorant-Regular", sans-serif;
    color:var(--gold-ink);
}

.format-divider
{
    margin:7px 0 21px;

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

.format-divider img
{
    display:block;
    width:100%;
    max-width:300px;
    height:auto;
}

.format-grid h3
{
    margin:0 0 18px;

    font-family: "PlayfairDisplay", sans-serif;
    font-weight: 400;
    font-size: 30px;
}

@media (min-width:1101px)
{
    .format-card:nth-child(4) h3
    {
        font-size:27px;
    }
}

.format-grid p
{
    max-width:310px;

    margin:0 auto;

    color:#000;
        font-family: "Cormorant-Regular", sans-serif;
        font-size: 20px;
}

.format-grid a
{
    margin-top:auto;
    padding-top:15px;
    margin-bottom:17px;

    color:var(--gold-ink);

    font-family: "Cormorant-Regular", sans-serif;
        font-size: 20px;

    text-decoration:underline;
    text-underline-offset:4px;

    border:0;
}

.products
{
    padding:68px 0 68px
}

.products h2
{
    font-size: 50px;
    margin: 6px 0 5px;
}

.products .intro
{
    max-width:520px;
    font-family: "Cormorant-Regular", sans-serif;
    font-weight: 400;
    font-size: 20px;
    margin-bottom:50px
}

.product-directory
{
    display:flex;
    flex-wrap:wrap;
    gap:10px 18px;
    margin:-24px 0 42px;
}

.product-directory a
{
    color:#dfbd82;
    font-family:"Cormorant-Regular", sans-serif;
    font-size:18px;
    text-decoration:underline;
    text-decoration-color:rgba(223,189,130,.48);
    text-underline-offset:4px;
}

.product-directory a:hover,
.product-directory a:focus-visible
{
    color:#fff;
    text-decoration-color:#fff;
}

.product-card
{
    display:grid;

    grid-template-columns:100px minmax(0, 1fr) 240px;

    column-gap:60px;

    padding:48px 0 38px;

    border-top:1px solid #393a34;

    opacity:1;
    transform:translateY(16px);

    transition:
        opacity .45s ease,
        transform .45s ease;
}

.product-info
{
    min-width:0;
}

.product-card:last-child
{
    border-bottom:1px solid #393a34
}

.product-card.is-entered
{
    transform:none
}

.product-card.is-active
{
    opacity:1
}

.product-card.is-passed
{
    opacity:1
}

.product-card > b
{
     font-family: "Cormorant-Regular", sans-serif;
    font-weight: 400;
    color:#C9A46A;
    font-size: 65px;
}
.product-card small
{
    font-family: "Cormorant-SemiBold", sans-serif;
    color:#C9A46A;
    font-size: 18px;
}

.product-card h3
{
    margin:0 0 29px;

     font-family: "PlayfairDisplay", sans-serif;
    font-weight: 400;
    font-size: 30px;
}

.product-card p
{
    max-width:450px;
    margin:0;

     font-family: "Cormorant-Regular", sans-serif;
    font-weight: 400;
    color: #fff;
        font-size: 20px;
}
.tags
{
    display:flex;
    flex-wrap:wrap;
    gap:15px;

    margin-top:26px;
}

.tags i
{
    padding:9px 14px;

    border:1px solid #C9A46A;

    color:#C9A46A;

         font-family: "Cormorant-Regular", sans-serif;
    font-weight: 400;
    font-style: normal;
        font-size: 20px;
}

.product-actions
{
    display:flex;
    flex-direction:column;
    justify-content:center;

    gap:20px;
}


.product-btn
{
    position:relative;

     width:200px;
    height:50px;

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

    flex-shrink:0;

    border:0;
    border-radius:0;
    background:transparent;
    clip-path:none;
}


.product-btn svg
{
    position:absolute;
    inset:0;

    width:100%;
    height:100%;

    overflow:visible;
    pointer-events:none;
}


.product-btn span
{
    position:relative;
    z-index:2;

           font-family: "Cormorant-SemiBold", sans-serif;
    font-size: 18px;
    white-space:nowrap;
}

.product-btn--gold
{
    color:#111;
}

.product-btn--gold svg path
{
    fill:var(--gold);
    stroke:none;
}

.product-btn--outline
{
    color:var(--cream);
}

.product-btn--outline svg path
{
    fill:transparent;

    stroke:var(--gold);
    stroke-width:1;

    vector-effect:non-scaling-stroke;
}

.product-btn b
{
    margin-left:12px;

    font-family:Arial,sans-serif;
    font-weight:400;
}

.product-card aside
{
    display:grid;
    align-content:center;
    gap:7px
}

.product-meta
{
    margin-top:20px;

    color: rgba(255, 255, 255, 0.55);
             font-family: "Cormorant-Regular", sans-serif;
    font-weight: 400;
        font-size: 20px;
}

.process
{
    position: relative;
    padding: 68px 0 68px;
    overflow: hidden;

    background: var(--cream);
    color: var(--ink);
}

.process-grid
{
    display: grid;
    grid-template-columns: minmax(0, 1fr) 390px;
    gap: 55px;

    align-items: center;
}


.process-content
{
    min-width: 0;
}

.process .eyebrow
{
        font-size: 20px;
    font-family: "Cormorant-Regular", sans-serif;
    color:var(--gold-ink);
}

.process h2
{

    font-size: 50px;
    margin: 6px 0 17px;
    color: #020D17;
}

.steps
{
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        50px
        minmax(0, 1fr)
        50px
        minmax(0, 1fr);

    column-gap: 18px;

    align-items: center;

    margin-bottom: 48px;
}

.process-step
{
    min-width: 0;

    display: flex;
    flex-direction: column;
    align-items: flex-start;

    text-align: left;
}

.step-number
{
    display: block;

    margin-bottom: 3px;
color:var(--gold-ink);
    font-family: "Cormorant-Regular", sans-serif;
    font-weight: 400;
    font-size: 50px;

     transform:translateX(-35px);
}

.steps .process-step:first-child
{
    margin-left: 50px;
}

.step-icon
{
    display: block;

    width: 62px;
    height: 62px;

    margin-bottom: 14px;

    object-fit: contain;
}

.process-step h3
{
    margin: 0 0 10px;
    font-family: "PlayfairDisplay", sans-serif;
    font-weight: 400;
    font-size: 17px;
}

.process-step p
{
    margin: 0;

    font-family: "Cormorant-Regular", sans-serif;
    font-weight: 400;
    font-size: 12px;
}

.step-divider
{
    width: 100%;
    height: 100%;

    display: flex;
    align-items: center;
    justify-content: center;
    padding-right: 23px;
}


.step-divider img
{
    display: block;

    width: 34px;
    height: auto;

    object-fit: contain;
}

.process-art
{
    position: relative;

    width: 100%;
    height: 500px;

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


.process-art img
{
    display:block;

    width:520px;
    max-width:none;
    height:auto;

    object-fit:contain;

    position:absolute;
    right:calc((1160px - 100vw) / 2);
}

.process-button
{
    position: relative;

        width:450px;
    height:50px;
    max-width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;

    color: var(--cream);

    text-decoration: none;

    background: transparent;
    border: 0;
    border-radius: 0;

    flex-shrink: 0;
}

.process-button svg
{
    position: absolute;

    inset: 0;

    width: 100%;
    height: 100%;

    overflow: visible;

    pointer-events: none;
}


.process-button svg path
{
    fill: var(--navy);
}

.process-button > span
{
    position: relative;
    z-index: 2;

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

    gap: 12px;

    color: #fff;

           font-family: "Cormorant-SemiBold", sans-serif;
    font-size: 18px;

    white-space: nowrap;
}

.process-button b
{
    font-family: Arial, sans-serif;
    font-size: 20px;
    font-weight: 400;
}

.process-button
{
    transition: opacity 0.25s ease;
}


.process-button:hover
{
    opacity: 0.88;
}

@media (max-width: 1100px)
{
    .process-grid
    {
        grid-template-columns: minmax(0, 1fr) 280px;
        gap: 35px;
    }

    .process h2
    {
        font-size: 40px;
    }

    .steps
    {
        grid-template-columns:
            minmax(0, 1fr)
            35px
            minmax(0, 1fr)
            35px
            minmax(0, 1fr);

        column-gap: 12px;
    }

    .process-art img
    {
        width: 420px;
        transform: translateX(70px);
    }

    .process-button
    {
        width: 100%;
    }
}

@media (max-width: 760px)
{
    .process
    {
        padding: 50px 0;
    }

    .process-grid
    {
        display: block;
    }

    .process h2
    {
        margin: 12px 0 35px;

        font-size: 34px;
        line-height: 1.08;
    }

    .steps
    {
        display: flex;
        flex-direction: column;

        gap: 25px;

        margin-bottom: 35px;
    }

    .process-step
    {
        width: 100%;
        align-items: center;

        text-align: center;
    }

    .step-number
    {
        font-size: 25px;
    }

    .step-divider
    {
        height: 40px;
    }

    .step-divider img
    {
        width: 30px;
    }

    .process-button
    {
        width: 100%;
        height: 58px;
    }

    .process-button > span
    {
        font-size: 16px;
    }

    .process-art
    {
        height: 300px;

        margin-top: 40px;
    }

    .process-art img
    {
        width: 380px;

        transform: none;
    }
}

.gold-band
{
    background: #C9A46A;
    color:#1d262d;
    padding: 68px 0;
}

.two
{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:70px;
    align-items:center
}

.gold-band h2
{
   font-size: 50px;
    margin: 6px 0 17px;
    color: #020D17;
}

.gold-band .eyebrow
{
    color:#000
}

.gold-band p
{
    font-family: "Cormorant-Regular", sans-serif;
    font-weight: 400;
    font-size: 20px;
}

.updates
{
    position:relative;

    min-height:560px;

    padding:80px 0 70px;

    overflow:hidden;

    background:var(--cream);
    color:var(--ink);
}

.updates-inner
{
    position:relative;
    z-index:2;

    min-height:410px;
}


.updates-content
{
    width:540px;
    max-width:100%;
    margin-left:32%;
}

.updates h2
{
    font-size: 50px;
    margin: 6px 0 25px;
    color: #020D17;
}

.updates-description
{
    max-width:510px;

font-family: "Cormorant-Regular", sans-serif;
    font-weight: 400;
    font-size: 20px;
}

.subscribe-form
{
    width:100%;
}

.subscribe-input
{
    display:block;

    width:100%;
    height:52px;

    padding:0 16px;

    background:transparent;

    border:1px solid var(--gold-ink);
    border-radius:0;

    outline:none;

    color:var(--ink);

    font-family: "Cormorant-Regular", sans-serif;
    font-weight: 400;
    font-size: 20px;
}


.subscribe-input::placeholder
{
    color:rgba(24,32,39,.68);
}


.subscribe-input:focus
{
    border-color:#a98244;
}

.subscribe-button
{
    position:relative;

    width:100%;
    height:50px;

    margin-top:10px;
    padding:0;

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

    border:0;
    border-radius:0;

    background:transparent;

    cursor:pointer;

    color:var(--cream);
}


.subscribe-button svg
{
    position:absolute;

    inset:0;

    width:100%;
    height:100%;

    pointer-events:none;
}


.subscribe-button svg path
{
    fill:var(--navy);
}


.subscribe-button > span
{
    position:relative;
    z-index:2;

    color: #fff;

    font-family: "Cormorant-SemiBold", sans-serif;
    font-size: 18px;
}


.subscribe-button:hover
{
    opacity:.9;
}

.subscribe-consent
{
    position:relative;

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

    align-items:start;

    margin-top:24px;

    cursor:pointer;
}

.subscribe-consent input
{
    position:absolute;

    opacity:0;

    pointer-events:none;
}

.custom-checkbox
{
    position:relative;

    display:block;

    width:22px;
    height:22px;

    border:1px solid var(--gold-ink);

    background:transparent;
}

.subscribe-consent input:checked + .custom-checkbox::after
{
    content:"";

    position:absolute;

    left:5px;
    top:2px;

    width:5px;
    height:9px;

    border-right:1.5px solid var(--gold-ink);
    border-bottom:1.5px solid var(--gold-ink);

    transform:rotate(45deg);
}

.consent-text
{
    max-width:470px;

    color:#514b44;

    font-family: "Cormorant-Regular", sans-serif;
    font-weight: 400;
    font-size:15px;
}

.subscribe-consent input:focus-visible + .custom-checkbox
{
    outline:3px solid var(--focus-dark);
    outline-offset:4px;
}


.consent-text a
{
    color:inherit;

    text-decoration:underline;
    text-underline-offset:2px;
}

.updates-decor-left
{
    position:absolute;

    left:0;
    bottom:0;

    width:330px;
    height:auto;

    z-index:1;

    object-fit:contain;

    pointer-events:none;
}

.updates-bookmark
{
    position:absolute;

    top:0;
    right:8%;

    width:105px;
    height:auto;

    z-index:3;

    object-fit:contain;

    pointer-events:none;
}

@media (max-width:1000px)
{
    .updates-content
    {
        margin-left:25%;
    }

    .updates-decor-left
    {
        width:250px;
        opacity:.6;
    }

    .updates-bookmark
    {
        width:85px;
        right:4%;
    }
}

@media (min-width:761px) and (max-width:1100px)
{

    .nav
    {
        height:76px;
    }

    .navlinks,
    .nav-fancy-btn
    {
        display:none;
    }

    .navright
    {
        margin-left:auto;
    }

    .nav-burger
    {
        display:flex;
        margin-left:16px;
    }

    .hero
    {
        min-height:760px;

        background-size:auto 100%;
        background-position:58% center;
    }

    .hero-grid
    {
        min-height:680px;
        height:auto;

        align-items:flex-start;
    }

    .hero-copy
    {
        width:56%;
        max-width:520px;

        padding-top:105px;
    }

    .hero h1
    {
        font-size:clamp(52px,7vw,70px);
        line-height:.98;
    }

    .hero-copy p
    {
        max-width:470px;

        font-size:19px;
        line-height:1.35;
    }

    .hero-actions
    {
        flex-wrap:wrap;
    }

    .format-grid
    {
        grid-template-columns:repeat(2,minmax(0,1fr));

        max-width:760px;

        margin-left:auto;
        margin-right:auto;

        gap:45px 28px;
    }

    .format-card
    {
        min-width:0;
    }

    .format-card:nth-child(3)
    {
        grid-column:auto;
        width:auto;
        justify-self:stretch;
    }

    .process
    {
        overflow:hidden;
    }

    .process-grid
    {
        position:relative;

        z-index:2;

        grid-template-columns:1fr;

        max-width:720px;
    }

    .process-copy
    {
        position:relative;

        z-index:3;

        width:100%;
        max-width:620px;
    }

    .process-art
    {
        position:absolute;

        right:-90px;
        bottom:-40px;

        width:48%;
        height:auto;

        z-index:1;

        pointer-events:none;
    }

    .process-art img
    {
        position:relative;

        width:100%;
        max-width:none;

        right:auto;
        top:auto;

        transform:none;

        opacity:.72;
    }

    .process-steps
    {
        position:relative;

        z-index:4;

        max-width:580px;
    }

    .process-cta
    {
        position:relative;

        z-index:4;

        max-width:580px;
    }

    .updates-content
    {
        position:relative;

        z-index:2;

        padding-right:120px;
    }

    .updates-bookmark
    {
        width:76px;

        right:28px;
        top:0;

        z-index:1;
    }

    .updates h2
    {
        max-width:620px;

        font-size:clamp(46px,6vw,64px);
        line-height:1;
    }
}

.site-footer
{
    padding:46px 0 40px;
}

.footer-top
{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;

    gap:26px;

    padding:0 0 34px;

    height:auto !important;
    min-height:0 !important;
}

.footer-logo
{
    width:260px;
    max-width:100%;

    flex:none;

    margin:0 auto 6px;
}

.footer-logo img
{
    display:block;

    width:100%;
    height:auto;
}

.footer-nav
{
    position:static;

    width:min(620px, 100%);

    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));

    gap:14px 50px;

    margin:0 auto !important;
    padding:0;

    transform:none;
}

.footer-nav a
{
    display:block;

    min-width:0;

    font-size:18px;
    line-height:1.2;

    text-align:center;

    white-space:normal;
}

.footer-line
{
    width:100%;

    margin:0;
}

.footer-bottom
{
    width:100%;

    padding-top:30px;

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

.footer-bottom p
{
    margin:0;
}

.analytics-settings
{
    margin-left:auto;
    padding:6px 0;
    border:0;
    border-bottom:1px solid currentColor;
    color:inherit;
    background:transparent;
    font:inherit;
    font-size:14px;
    cursor:pointer;
}

.analytics-consent
{
    position:fixed;
    z-index:12000;
    right:24px;
    bottom:24px;
    width:min(620px, calc(100vw - 32px));
    padding:22px;
    display:grid;
    grid-template-columns:minmax(0, 1fr) auto;
    gap:22px;
    align-items:center;
    border:1px solid rgba(201,164,106,.6);
    border-radius:16px;
    color:#f8f1e7;
    background:#07142c;
    box-shadow:0 18px 55px rgba(4,12,29,.32);
}

.analytics-consent strong
{
    display:block;
    margin-bottom:7px;
    font-family:Georgia,serif;
    font-size:19px;
}

.analytics-consent p
{
    margin:0 0 8px;
    color:#e8dfd2;
    font-size:14px;
    line-height:1.45;
}

.analytics-consent a
{
    color:#e2bd7c;
    font-size:13px;
}

.analytics-consent__choices
{
    margin:12px 0 10px;
    display:grid;
    gap:8px;
}

.analytics-consent__choices label
{
    padding:9px 11px;
    display:grid;
    grid-template-columns:18px minmax(0, 1fr);
    gap:9px;
    align-items:start;
    border:1px solid rgba(226,189,124,.28);
    border-radius:9px;
    background:rgba(255,255,255,.035);
    cursor:pointer;
}

.analytics-consent__choices input
{
    width:16px;
    height:16px;
    margin:2px 0 0;
    accent-color:#d1ad6d;
}

.analytics-consent__choices span
{
    display:grid;
    gap:2px;
}

.analytics-consent__choices b
{
    font-size:13px;
}

.analytics-consent__choices small
{
    color:#c8c0b5;
    font-size:11px;
    line-height:1.35;
}

.analytics-consent__actions
{
    display:grid;
    gap:8px;
}

.analytics-consent button
{
    min-height:42px;
    padding:0 16px;
    border:1px solid #d1b47f;
    border-radius:9px;
    color:#f8f1e7;
    background:transparent;
    font-weight:700;
    white-space:nowrap;
    cursor:pointer;
}

.analytics-consent button.is-primary
{
    color:#07142c;
    background:#d1ad6d;
}

.floating-contact
{
    position:fixed;
    z-index:900;
    right:max(20px, env(safe-area-inset-right));
    bottom:max(20px, env(safe-area-inset-bottom));

    min-height:58px;
    max-width:calc(100vw - 32px);
    padding:8px 23px 8px 9px;

    display:inline-flex;
    align-items:center;
    gap:12px;

    border:1px solid rgba(217, 180, 112, .88);
    border-radius:999px;
    color:#fffaf1;
    background:linear-gradient(145deg, #07182c, var(--navy));
    box-shadow:0 14px 36px rgba(2, 13, 23, .28), 0 2px 8px rgba(2, 13, 23, .18);

    font-family:"Cormorant-SemiBold", Georgia, serif;
    font-size:18px;
    font-weight:500;
    line-height:1;
    letter-spacing:.01em;
    white-space:nowrap;

    transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease, opacity .2s ease;
}

.floating-contact__icon
{
    width:40px;
    height:40px;
    flex:0 0 40px;

    display:grid;
    place-items:center;

    border-radius:50%;
    color:var(--navy);
    background:linear-gradient(145deg, #dfbd7e, var(--gold));
    box-shadow:inset 0 0 0 1px rgba(255, 248, 230, .42);
}

.floating-contact__icon svg
{
    width:23px;
    height:23px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.floating-contact:hover
{
    transform:translateY(-2px);
    border-color:#e2bd7c;
    box-shadow:0 18px 42px rgba(2, 13, 23, .34), 0 3px 10px rgba(2, 13, 23, .2);
}

.floating-contact:active
{
    transform:translateY(0);
}

body.pdf-modal-open .floating-contact,
body.channel-modal-open .floating-contact,
body:has(.analytics-consent) .floating-contact,
body:has(.mobile-menu.is-open) .floating-contact
{
    opacity:0;
    pointer-events:none;
    transform:translateY(10px);
}

@media (max-width:760px)
{
    .floating-contact
    {
        right:max(14px, env(safe-area-inset-right));
        bottom:max(14px, env(safe-area-inset-bottom));
        min-height:52px;
        padding:7px 18px 7px 7px;
        gap:10px;
        font-size:17px;
    }

    .floating-contact__icon
    {
        width:36px;
        height:36px;
        flex-basis:36px;
    }

    .floating-contact__icon svg
    {
        width:21px;
        height:21px;
    }

    .analytics-consent
    {
        right:16px;
        bottom:16px;
        padding:18px;
        grid-template-columns:1fr;
        gap:14px;
    }

    .analytics-consent__actions
    {
        grid-template-columns:1fr 1fr;
    }

    .analytics-consent button
    {
        padding-inline:10px;
        white-space:normal;
    }

    .updates
    {
        min-height:auto;

        padding:60px 0 70px;
    }

    .updates-content
    {
        width:100%;
        margin-left:0;
    }

    .updates h2
    {
        font-size:38px;
    }

    .updates-description
    {
        max-width:100%;

        font-size:16px;
    }

    .updates-decor-left
    {
        width:190px;

        opacity:.15;
    }

    .updates-bookmark
    {
        width:65px;

        right:18px;
    }

    .updates .eyebrow,
    .updates h2
    {
        padding-right:70px;
    }

    .metrics-section
    {
        padding-top:0;
    }

    .metrics
    {
        margin-top:0;
        padding-top:0;
    }

    .metrics > div
    {
        padding-top:16px;
    }
}

.contacts
{
    padding:68px 0;
}

.contacts h2
{
    font-size: 50px;
    margin: 6px 0 25px;
}

.contact-list p
{
    display:grid;
    grid-template-columns:250px 1fr;
    border-bottom:1px solid #C9A46A;
    padding:11px 0;
    margin:0;
        font-family: "Cormorant-Regular", sans-serif;
    font-weight: 400;
    font-size: 20px;
    color: #fff;
}

.contact-list span
{
   color: #fff;
}

.contact-list b
{
        font-family: "PlayfairDisplay", sans-serif;
    font-weight: 400;
    font-size: 20px;
    color: #C9A46A;

}

.final
{
    position:relative;

    min-height:600px;

    padding:70px 20px;

    overflow:hidden;

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

    text-align:center;

    background-color:var(--cream);

    background-image:url("assets/final-zodiac.webp");

    background-repeat:no-repeat;
    background-position:center center;
    background-size:auto 115%;
}

.final-inner
{
    position:relative;
    z-index:2;

    width:min(720px,100%);

    display:flex;
    flex-direction:column;
    align-items:center;

    margin:auto;
}

.final-eyebrow
{
       font-size: 20px;
    font-family: "Cormorant-Regular", sans-serif;
    color: #020D17;
}

.final h2
{
font-size: 50px;
    margin: 6px 0 25px;
    color: #020D17;
}

.final p
{
    margin:0 0 35px;

        font-family: "Cormorant-Regular", sans-serif;
    font-weight: 400;
    font-size: 20px;
}

.final-button
{
    position:relative;

    width:100%;
    width:450px;
    height:50px;

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

    color:var(--cream);

    text-decoration:none;

    background:transparent;

    transition:opacity .25s ease;
}


.final-button svg
{
    position:absolute;

    inset:0;

    width:100%;
    height:100%;

    pointer-events:none;
}


.final-button svg path
{
    fill:var(--navy);
}


.final-button > span
{
    position:relative;
    z-index:2;

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

    gap:18px;

     font-family: "Cormorant-SemiBold", sans-serif;
    font-size: 18px;
    color: #fff;
}


.final-button b
{
    font:24px/1 Arial,sans-serif;
    font-weight:400;
}


.final-button:hover
{
    opacity:.88;
}

@media (max-width:900px)
{
    .final
    {
        min-height:540px;

        background-size:auto 105%;
    }

    .final h2
    {
        font-size:50px;
    }

    .final p
    {
        font-size:18px;
    }
}

@media (max-width:600px)
{
    .final
    {
        min-height:500px;

        padding:60px 24px;

        background-size:auto 90%;
    }

    .final-eyebrow
    {
        font-size:15px;
    }

    .final h2
    {
        font-size:40px;
    }

    .final p
    {
        margin:22px 0 30px;

        font-size:16px;
    }

    .final p br
    {
        display:none;
    }

    .final-button
    {
        height:58px;
    }

    .final-button > span
    {
        font-size:17px;
    }
}

.site-footer
{
    background:var(--navy);
    color:var(--cream);

    padding:70px 0 55px;
}

.footer
{
    display:block;
}

.footer-top
{
    display:flex;

    align-items:center;
    justify-content:space-between;

    gap:70px;

    padding:0 0 52px;
}

.footer-logo
{
    display:block;

    width:310px;
    flex:0 0 310px;
}


.footer-logo img
{
    display:block;

    width:100%;
    height:auto;

    object-fit:contain;
}

.footer-nav
{
    display:flex;

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

    gap:55px;
}


.footer-nav a
{
    position:relative;
font-family: "Cormorant-Regular", sans-serif;
    font-weight: 400;
    font-size: 18px;
    color: #fff;

    white-space:nowrap;

    transition:color .2s ease;
}


.footer-nav a:hover
{
    color:var(--gold);
}

.footer-line
{
    width:100%;
    height:1px;

    background: #C9A46A;

    opacity:.75;
}

.footer-bottom
{
    padding-top:28px;
}


.footer-bottom p
{
    margin:0;

font-family: "Cormorant-Regular", sans-serif;
    font-weight: 400;
    font-size: 20px;
    color: #fff;
}

img,
svg
{
    max-width:100%;
}

body
{
    overflow-x:hidden;
}

.nav-burger
{
    display:none;

    width:42px;
    height:42px;

    padding:10px;

    border:1px solid rgba(201,164,106,.65);

    background:transparent;

    flex-direction:column;
    align-items:center;
    justify-content:center;

    gap:5px;

    cursor:pointer;
}

.nav-burger span
{
    display:block;

    width:18px;
    height:1px;

    background:var(--gold);

    transition:
        transform .25s ease,
        opacity .25s ease;
}

.mobile-menu
{
    display:none;
}

@media (max-width:1100px)
{
    .navlinks,
.nav-fancy-btn
{
    display:none;
}

.navright
{
    margin-left:auto;
}

.nav-burger
{
    display:flex;

    margin-left:14px;
    order:3;
}

.nav
{
    position:relative;
}

.mobile-menu
{
    position:absolute;

    left:0;
    right:0;
    top:72px;

    z-index:100;

    display:flex;
    flex-direction:column;

    padding:22px 24px 26px;

    background:rgba(2,13,23,.98);

    border-top:1px solid rgba(201,164,106,.35);
    border-bottom:1px solid rgba(201,164,106,.35);

    opacity:0;
    visibility:hidden;

    transform:translateY(-8px);

    pointer-events:none;

    transition:
        opacity .2s ease,
        transform .2s ease,
        visibility .2s ease;
}

.mobile-menu.is-open
{
    opacity:1;
    visibility:visible;

    transform:none;

    pointer-events:auto;
}

.mobile-menu a
{
    padding:13px 0;

    color:var(--cream);

    font-family:"Cormorant-Regular",sans-serif;
    font-size:20px;

    text-decoration:none;

    border-bottom:1px solid rgba(201,164,106,.15);
}

.mobile-menu-contact
{
    color:var(--gold) !important;

    border-bottom:0 !important;
}

.nav-burger.is-open span:nth-child(1)
{
    transform:translateY(6px) rotate(45deg);
}

.nav-burger.is-open span:nth-child(2)
{
    opacity:0;
}

.nav-burger.is-open span:nth-child(3)
{
    transform:translateY(-6px) rotate(-45deg);
}
    .shell
    {
        width:min(100% - 48px, 960px);
    }

    .nav
    {
        height:72px;
    }

    .logo
    {
        width:125px;
    }

    .navlinks
    {
        gap:22px;
        margin-left:28px;
        font-size:16px;
    }

    .langs
    {
        width:82px;
        height:44px;
    }

    .langs button,
    .langs a
    {
        font-size:16px;
    }

    .nav-fancy-btn
    {
        width:165px;
        height:46px;
    }

    .nav-fancy-btn span
    {
        font-size:16px;
    }

    .hero
    {
        height:auto;
        min-height:720px;

        background-position:58% top;
    }

    .hero-grid
    {
        height:auto;
        min-height:648px;
    }

    .hero-copy
    {
        width:53%;
        padding:60px 0 80px;
    }

    .hero h1
    {
        font-size:52px;
        line-height:1.05;
    }

    .hero-copy p
    {
        font-size:18px;
        max-width:430px;
    }

    .eyebrow
    {
        font-size:18px;
    }

    .metrics > div
    {
        padding:22px 18px 26px;
    }

    .metrics b
    {
        font-size:52px;
    }

    .metrics strong
    {
        font-size:20px;
    }

    .formats h2,
    .products h2,
    .process h2,
    .gold-band h2,
    .contacts h2,
    .updates h2,
    .final h2
    {
        font-size:44px;
    }

    .format-grid
    {
        gap:20px;
    }

    .format-card
    {
        height:400px;
        padding:15px 28px 28px;
    }

    .format-number
    {
        font-size:42px;
    }

    .format-category
    {
        font-size:17px;
    }

    .format-grid h3
    {
        font-size:25px;
    }

    .format-grid p,
    .format-grid a
    {
        font-size:17px;
    }

    .product-card
    {
        grid-template-columns:70px minmax(0,1fr) 190px;
        column-gap:32px;
    }

    .product-card > b
    {
        font-size:52px;
    }

    .product-card h3
    {
        font-size:26px;
    }

    .product-card p,
    .tags i,
    .product-meta
    {
        font-size:17px;
    }

    .product-btn
    {
        width:175px;
        height:46px;
    }

    .process-grid
    {
        grid-template-columns:minmax(0,1fr) 280px;
        gap:30px;
    }

    .process-art img
    {
        width:420px;
    }

    .two
    {
        gap:45px;
    }

    .gold-band p
    {
        font-size:18px;
    }

    .updates
    {
        min-height:520px;
    }

    .updates-content
    {
        width:500px;
        margin-left:27%;
    }

    .updates-decor-left
    {
        width:250px;
    }

    .updates-bookmark
    {
        width:80px;
        right:4%;
    }

    .contact-list p
    {
        grid-template-columns:190px 1fr;
        font-size:17px;
    }

    .contact-list b
    {
        font-size:17px;
    }

    .footer-top
    {
        gap:40px;
    }

    .footer-logo
    {
        width:250px;
        flex-basis:250px;
    }

    .footer-nav
    {
        gap:25px;
    }

    .footer-nav a
    {
        font-size:16px;
    }
}

@media (max-width:760px)
{
    .shell
    {
        width:calc(100% - 40px);
        padding-top:0;
        padding-bottom:0;
    }

    .nav
    {
        height:70px;
    }

    .logo
    {
        width:120px;
    }

    .navlinks
    {
        display:none;
    }

    .navright
    {
        gap:10px;
    }

    .langs
    {
        width:72px;
        height:40px;
    }

    .langs button,
    .langs a
    {
        font-size:14px;
    }

    .langs-content
    {
        gap:5px;
    }

    .langs-content span
    {
        font-size:17px;
    }

    .nav-fancy-btn
    {
        display:none;
    }

.hero
{
    height:auto;
    min-height:0;

    background-image:url("assets/hero-desktop.webp");

    background-size:auto 720px;
    background-position:58% top;
    background-repeat:no-repeat;

    background-color:var(--navy);
}

.hero-grid
{
    height:auto;
    min-height:0;

    align-items:flex-start;
}

.hero-copy
{
    width:100%;
    padding:52px 0 215px;
}

    .hero-copy::before
    {
        content:"";

        position:absolute;
        left:0;
        right:0;
        top:70px;
        height:390px;

        pointer-events:none;

        background:
            linear-gradient(
                90deg,
                rgba(2,13,23,.98) 0%,
                rgba(2,13,23,.88) 45%,
                rgba(2,13,23,0) 100%
            );

        z-index:-1;
    }

    .eyebrow
    {
        font-size:15px;
    }

.hero h1
{
    max-width:335px;

    font-size:46px;
    line-height:.98;

    margin:12px 0 0;
}

    .moon-row
    {
        width:180px;

        margin-top:18px;
        margin-bottom:24px;
    }

.hero-copy p
{
    max-width:315px;

    font-size:17px;
    line-height:1.32;
}
    .actions
    {
        flex-direction:column;
        align-items:flex-start;

        gap:12px;

        margin-top:28px;
    }

    .hero-fancy-btn
    {
        width:190px;
        height:48px;
    }

    .hero-fancy-btn > span
    {
        font-size:16px;
    }

    .hero-note
    {
        max-width:310px;

        font-size:12px;
        line-height:1.25;

        margin-top:20px;
    }

    .metrics
    {
        grid-template-columns:1fr 1fr;
    }

    .metrics > div
    {
        padding:28px 12px;
    }

    .metrics > div:nth-child(2)::after
    {
        display:none;
    }

    .metrics > div:nth-child(-n+2)
    {
        border-bottom:1px solid rgba(201,164,106,.25);
    }

    .metrics b
    {
        font-size:38px;
    }

    .metrics strong
    {
        font-size:17px;

        margin:5px 0 8px;
    }

    .metrics span
    {
        max-width:140px;
        font-size:12px;
    }

    .formats,
    .products,
    .process,
    .gold-band,
    .contacts
    {
        padding:55px 0;
    }

    .formats h2,
    .products h2,
    .process h2,
    .gold-band h2,
    .contacts h2,
    .updates h2,
    .final h2
    {
        font-size:36px;
        line-height:1.06;
    }

    .lead,
    .products .intro
    {
        font-size:16px;
        line-height:1.35;
    }

    .format-grid
    {
        grid-template-columns:1fr;

        width:min(100%,390px);

        gap:22px;

        margin-top:32px;
    }

    .format-card
    {
        height:390px;

        padding:18px 42px 30px;
    }

    .format-number
    {
        font-size:42px;
    }

    .format-category
    {
        font-size:17px;
    }

    .format-grid h3
    {
        font-size:27px;
    }

    .format-grid p
    {
        font-size:17px;
        line-height:1.25;
    }

    .format-grid a
    {
        font-size:17px;
    }

    .products .intro
    {
        margin-bottom:30px;
    }

    .product-card
    {
        position:relative;

        display:grid;

        grid-template-columns:42px minmax(0,1fr);

        column-gap:15px;
        row-gap:25px;

        padding:35px 0;
    }

    .product-card > b
    {
        font-size:34px;
        line-height:1;
    }

    .product-card small
    {
        font-size:14px;
    }

    .product-card h3
    {
        margin:3px 0 15px;

        font-size:23px;
        line-height:1.08;
    }

    .product-card p
    {
        max-width:none;

        font-size:16px;
        line-height:1.3;
    }

    .tags
    {
        gap:7px;

        margin-top:18px;
    }

    .tags i
    {
        padding:6px 9px;

        font-size:13px;
    }

    .product-meta
    {
        margin-top:15px;

        font-size:13px;
    }

    .product-actions,
    .product-card aside
    {
        grid-column:2;

        display:flex;
        flex-direction:row;
        flex-wrap:wrap;

        gap:10px;

        justify-content:flex-start;
    }

    .product-btn
    {
        width:145px;
        height:44px;
    }

    .product-btn span
    {
        font-size:14px;
    }

    .process-grid
    {
        display:block;
    }

    .process h2
    {
        margin-bottom:35px;
    }

    .steps
    {
        display:flex;
        flex-direction:column;

        gap:0;

        margin-bottom:35px;
    }

    .process-step,
    .steps .process-step:first-child
    {
        width:100%;

        margin:0;

        display:grid;

        grid-template-columns:55px 1fr;

        column-gap:18px;

        text-align:left;
        align-items:start;
    }

    .step-number
    {
        grid-column:1;
        grid-row:1 / 4;

        transform:none;

        font-size:35px;

        margin:0;
    }

    .step-icon
    {
        grid-column:2;

        width:48px;
        height:48px;

        margin-bottom:10px;
    }

    .process-step h3
    {
        grid-column:2;

        font-size:20px;
    }

    .process-step p
    {
        grid-column:2;

        font-size:14px;
        line-height:1.3;
    }

    .process-step p br,
    .process-step h3 br
    {
        display:none;
    }

    .step-divider
    {
        width:100%;
        height:45px;

        padding:0 0 0 72px;

        justify-content:flex-start;
    }

    .step-divider img
    {
        width:24px;

        transform:rotate(90deg);
    }

    .process-button
    {
        width:100%;
        height:52px;
    }

.process-art
{
    height:220px;

    margin-top:25px;

    display:flex;
    justify-content:flex-end;

    overflow:hidden;
}

.process-art img
{
    position:relative;

    width:285px;
    max-width:none;

    right:-55px;
    top:0;

    transform:none;
}

    .two
    {
        grid-template-columns:1fr;

        gap:25px;
    }

    .gold-band h2 br
    {
        display:none;
    }

    .gold-band p
    {
        margin:0;

        font-size:16px;
        line-height:1.4;
    }

    .updates
    {
        min-height:auto;

        padding:60px 0 70px;
    }

    .updates-inner
    {
        min-height:0;
    }

    .updates-content
    {
        width:100%;
        margin-left:0;
    }

.updates .eyebrow,
.updates h2
{
    padding-right:0;
}

.updates-content
{
    position:relative;
    z-index:2;
}

    .updates-description
    {
        max-width:100%;

        font-size:16px;
        line-height:1.35;
    }

    .subscribe-input
    {
        height:50px;

        font-size:16px;
    }

    .subscribe-button
    {
        height:50px;
    }

    .subscribe-consent
    {
        gap:12px;
        margin-top:18px;
    }

    .consent-text
    {
        font-size:11px;
    }

    .updates-decor-left
    {
        width:170px;

        opacity:.14;
    }

.updates-bookmark
{
    width:46px;

    right:12px;
    top:0;

    opacity:.9;

    transform:translateY(-8px);

    z-index:1;
}

    .contacts .two
    {
        gap:35px;
    }

    .contacts h2 br
    {
        display:none;
    }

    .contact-list p
    {
        display:block;

        padding:14px 0;
    }

    .contact-list span
    {
        display:block;

        margin-bottom:4px;

        font-size:13px;
    }

    .contact-list b
    {
        display:block;

        font-size:16px;
        line-height:1.25;

        overflow-wrap:anywhere;
    }

    .final
    {
        min-height:500px;

        padding:60px 20px;

        background-size:auto 90%;
    }

    .final-inner
    {
        width:100%;
    }

    .final-eyebrow
    {
        font-size:15px;
    }

    .final p
    {
        max-width:340px;

        margin:18px 0 30px;

        font-size:16px;
        line-height:1.35;
    }

    .final p br
    {
        display:none;
    }

    .final-button
    {
        width:min(100%,350px);
        height:52px;
    }

    .site-footer
    {
        padding:50px 0 35px;
    }

    .footer-top
    {
        display:block;

        padding-bottom:38px;
    }

    .footer-logo
    {
        width:220px;

        margin-bottom:35px;
    }

    .footer-nav
    {
        display:grid;

        grid-template-columns:1fr 1fr;

        gap:18px 25px;

        justify-content:start;
    }

    .footer-nav a
    {
        white-space:normal;

        font-size:15px;
    }

    .footer-bottom
    {
        padding-top:22px;
    }

    .footer-bottom p
    {
        font-size:14px;
    }
}

@media (max-width:420px)
{
    .shell
    {
        width:calc(100% - 30px);
    }

    .hero
    {
        min-height:720px;

        background-position:64% center;
    }

    .hero-copy
    {
        padding-top:60px;
    }

    .hero h1
    {
        font-size:37px;
    }

    .metrics
    {
        grid-template-columns:1fr 1fr;
    }

    .metrics > div
    {
        padding:24px 8px;
    }

    .formats h2,
    .products h2,
    .process h2,
    .gold-band h2,
    .contacts h2,
    .updates h2,
    .final h2
    {
        font-size:32px;
    }

    .format-card
    {
        height:370px;

        padding-left:30px;
        padding-right:30px;
    }

    .product-card
    {
        grid-template-columns:34px minmax(0,1fr);

        column-gap:10px;
    }

    .product-card > b
    {
        font-size:29px;
    }

    .product-actions,
    .product-card aside
    {
        grid-column:1 / -1;

        padding-left:44px;
    }

    .product-btn
    {
        width:135px;
    }

    .footer-nav
    {
        grid-template-columns:1fr;
    }
}

@media (prefers-reduced-motion:reduce)
{
    .product-card
    {
        transition:none;
    }

    .floating-contact
    {
        transition:none;
    }
}

body.channel-modal-open
{
    overflow:hidden;
}

.channel-modal[hidden]
{
    display:none;
}

.channel-modal
{
    position:fixed;
    inset:0;
    z-index:1100;
    display:grid;
    place-items:center;
    padding:24px;
}

.channel-modal__backdrop
{
    position:absolute;
    inset:0;
    background:rgba(2, 13, 23, .72);
    backdrop-filter:blur(8px);
}

.channel-modal__panel
{
    position:relative;
    width:min(100%, 540px);
    padding:42px;
    overflow:hidden;
    border:1px solid rgba(201, 164, 106, .54);
    border-radius:22px;
    color:#fffaf1;
    background:
        radial-gradient(circle at 88% 5%, rgba(201, 164, 106, .15), transparent 33%),
        linear-gradient(145deg, #07182c, #020d17 72%);
    box-shadow:0 30px 80px rgba(0, 0, 0, .42);
    isolation:isolate;
}

.channel-modal__panel::before
{
    content:"";
    position:absolute;
    inset:12px;
    z-index:-1;
    pointer-events:none;
    border:1px solid rgba(201, 164, 106, .17);
    border-radius:14px;
}

.channel-modal__close
{
    position:absolute;
    top:17px;
    right:17px;
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    padding:0;
    border:1px solid rgba(201, 164, 106, .35);
    border-radius:50%;
    color:#f8f1e7;
    background:rgba(255, 255, 255, .04);
    font:32px/1 Arial, sans-serif;
    cursor:pointer;
    transition:background-color .18s ease, border-color .18s ease, transform .18s ease;
}

.channel-modal__close:hover
{
    border-color:rgba(226, 189, 124, .82);
    background:rgba(255, 255, 255, .09);
    transform:rotate(4deg);
}

.channel-modal__eyebrow
{
    max-width:calc(100% - 54px);
    margin-bottom:10px;
    overflow:hidden;
    color:#d8b574;
    font-size:12px;
    font-weight:700;
    letter-spacing:.12em;
    line-height:1.35;
    text-overflow:ellipsis;
    text-transform:uppercase;
    white-space:nowrap;
}

.channel-modal h2
{
    margin:0 0 28px;
    color:#fffaf1;
    font-family:"Cormorant-SemiBold", Georgia, serif;
    font-size:clamp(34px, 5vw, 48px);
    font-weight:500;
    line-height:1;
}

.channel-modal__options
{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
}

.channel-option
{
    min-height:126px;
    padding:20px;
    display:grid;
    grid-template-columns:42px minmax(0, 1fr) auto;
    gap:13px;
    align-items:center;
    border:1px solid rgba(201, 164, 106, .36);
    border-radius:14px;
    color:#fffaf1;
    background:rgba(255, 255, 255, .035);
    text-decoration:none;
    transition:transform .18s ease, border-color .18s ease, background-color .18s ease;
}

.channel-option:hover
{
    transform:translateY(-2px);
    border-color:rgba(226, 189, 124, .82);
    background:rgba(255, 255, 255, .075);
}

.channel-option:focus-visible,
.channel-modal__close:focus-visible
{
    outline:3px solid rgba(226, 189, 124, .62);
    outline-offset:3px;
}

.channel-option__icon
{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border-radius:50%;
    color:#07142c;
    background:#d8b574;
}

.channel-option__icon svg
{
    width:24px;
    height:24px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.channel-option--telegram .channel-option__icon svg path
{
    fill:currentColor;
    stroke:none;
}

.channel-option__copy
{
    min-width:0;
    display:grid;
    gap:5px;
}

.channel-option__copy strong
{
    font-size:18px;
    line-height:1.1;
}

.channel-option__copy small
{
    color:#d8b574;
    font-size:12px;
    font-weight:700;
    letter-spacing:.05em;
    text-transform:uppercase;
}

.channel-option__arrow
{
    color:#d8b574;
    font-size:22px;
}

.channel-option.is-unavailable
{
    opacity:.52;
    cursor:not-allowed;
}

.channel-option.is-unavailable:hover
{
    transform:none;
    border-color:rgba(201, 164, 106, .36);
    background:rgba(255, 255, 255, .035);
}

.channel-option.is-retryable
{
    opacity:.82;
    cursor:pointer;
}

.channel-option.is-retryable:hover
{
    opacity:1;
    border-color:#c9a46a;
}

@media (max-width:760px)
{
    .channel-modal
    {
        place-items:end center;
        padding:12px;
        padding-bottom:max(12px, env(safe-area-inset-bottom));
    }

    .channel-modal__panel
    {
        width:100%;
        padding:34px 22px 22px;
        border-radius:20px;
    }

    .channel-modal h2
    {
        margin-bottom:22px;
        font-size:38px;
    }

    .channel-modal__options
    {
        grid-template-columns:1fr;
        gap:10px;
    }

    .channel-option
    {
        min-height:76px;
        padding:15px 17px;
    }
}

.sr-only
{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0, 0, 0, 0);
    white-space:nowrap;
    border:0;
}

body.pdf-modal-open
{
    overflow:hidden;
}

.pdf-modal[hidden]
{
    display:none;
}

.pdf-modal
{
    position:fixed;
    inset:0;
    z-index:1000;

    display:grid;
    place-items:center;

    padding:24px;
}

.pdf-modal__backdrop
{
    position:absolute;
    inset:0;
    background:rgba(3, 12, 30, .84);
    backdrop-filter:blur(8px);
}

.pdf-modal__panel
{
    position:relative;
    z-index:1;

    width:min(1180px, 100%);
    height:min(900px, calc(100dvh - 48px));
    min-height:520px;

    display:grid;
    grid-template-rows:auto minmax(0, 1fr) auto;

    overflow:hidden;
    background:var(--cream);
    color:var(--ink);
    border:1px solid rgba(201, 164, 106, .72);
    box-shadow:0 28px 90px rgba(0, 0, 0, .45);
}

.pdf-modal__header,
.pdf-modal__footer
{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;

    padding:18px 24px;
    background:#f6efe3;
}

.pdf-modal__header
{
    border-bottom:1px solid rgba(15, 29, 53, .16);
}

.pdf-modal__footer
{
    border-top:1px solid rgba(15, 29, 53, .16);
}

.pdf-modal__heading
{
    min-width:0;
}

.pdf-modal__eyebrow
{
    display:flex;
    align-items:center;
    gap:12px;

    color:var(--gold-ink);
    font-family:"Cormorant-SemiBold", sans-serif;
    font-size:14px;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.pdf-modal__eyebrow span + span::before
{
    content:"·";
    margin-right:12px;
}

.pdf-modal__header h2
{
    margin:3px 0 0;
    font-family:"PlayfairDisplay", serif;
    font-size:27px;
    font-weight:400;
    line-height:1.12;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.pdf-modal__header-actions,
.pdf-modal__navigation
{
    display:flex;
    align-items:center;
    gap:10px;
    flex-shrink:0;
}

.pdf-modal__text-link
{
    color:var(--ink);
    font-family:"Cormorant-SemiBold", sans-serif;
    font-size:16px;
    text-decoration:underline;
    text-underline-offset:4px;
}

.pdf-modal__close
{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;

    border:1px solid rgba(15, 29, 53, .28);
    background:transparent;
    color:var(--ink);
    cursor:pointer;
}

.pdf-modal__close span
{
    transform:translateY(-1px);
    font-family:Arial, sans-serif;
    font-size:30px;
    font-weight:300;
    line-height:1;
}

.pdf-modal__viewer
{
    position:relative;
    min-height:0;
    overflow:hidden;
    background:#c9c7c2;
}

.pdf-modal__pages
{
    width:100%;
    height:100%;
    overflow:auto;
    overscroll-behavior:contain;

    display:flex;
    flex-direction:column;
    align-items:center;
    gap:24px;

    padding:24px 20px 40px;
    scroll-padding-top:24px;
}

.pdf-modal__page
{
    position:relative;
    flex:0 0 auto;
    width:min(820px, 100%);
    margin:0;
    overflow:hidden;
    background:#f7f4ed;
    box-shadow:0 6px 22px rgba(0, 0, 0, .2);
}

.pdf-modal__page canvas
{
    display:block;
    width:100%;
    height:auto;
    opacity:0;
    transition:opacity .18s ease;
}

.pdf-modal__page.is-rendered canvas
{
    opacity:1;
}

.pdf-modal__page-number
{
    position:absolute;
    right:10px;
    bottom:10px;

    padding:4px 8px;
    color:#fff;
    background:rgba(8, 22, 46, .72);
    font-family:Arial, sans-serif;
    font-size:11px;
    line-height:1;
}

.pdf-modal__loading
{
    position:absolute;
    inset:0;
    z-index:1;

    display:grid;
    place-items:center;

    color:#5f594f;
    background:#ebe8e1;
    font-family:"Cormorant-SemiBold", sans-serif;
    font-size:18px;
}

.pdf-modal__loading[hidden]
{
    display:none;
}

.pdf-modal__error
{
    position:absolute;
    inset:0;
    z-index:2;

    display:grid;
    place-content:center;
    gap:14px;

    padding:30px;
    text-align:center;
    color:var(--ink);
    background:#f6efe3;
    font-family:"Cormorant-SemiBold", sans-serif;
    font-size:18px;
}

.pdf-modal__error[hidden]
{
    display:none;
}

.pdf-modal__error p
{
    margin:0;
}

.pdf-modal__error a
{
    color:var(--gold-ink);
    text-underline-offset:4px;
}

.pdf-modal__navigation button,
.pdf-modal__download
{
    min-height:42px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;

    padding:9px 16px;
    border:1px solid rgba(15, 29, 53, .35);
    background:transparent;
    color:var(--ink);
    font-family:"Cormorant-SemiBold", sans-serif;
    font-size:16px;
    text-decoration:none;
    cursor:pointer;
}

.pdf-modal__navigation button:disabled
{
    opacity:.38;
    cursor:not-allowed;
}

.pdf-modal__download
{
    min-width:155px;
    border-color:var(--gold);
    background:var(--gold);
}

.pdf-modal__close:hover,
.pdf-modal__navigation button:not(:disabled):hover
{
    border-color:var(--gold-ink);
}

@media (max-width:720px)
{
    .pdf-modal
    {
        padding:0;
    }

    .pdf-modal__panel
    {
        width:100%;
        height:100dvh;
        min-height:0;
        border:0;
    }

    .pdf-modal__header,
    .pdf-modal__footer
    {
        padding:12px 14px;
    }

    .pdf-modal__header
    {
        gap:12px;
    }

    .pdf-modal__header h2
    {
        max-width:calc(100vw - 86px);
        display:-webkit-box;
        overflow:hidden;
        -webkit-box-orient:vertical;
        -webkit-line-clamp:2;
        font-size:19px;
        line-height:1.05;
        white-space:normal;
        text-overflow:clip;
    }

    .pdf-modal__eyebrow
    {
        font-size:12px;
    }

    .pdf-modal__text-link
    {
        display:none;
    }

    .pdf-modal__footer
    {
        align-items:stretch;
        gap:8px;
    }

    .pdf-modal__navigation
    {
        gap:6px;
        flex:1;
    }

    .pdf-modal__navigation button
    {
        width:42px;
        min-width:42px;
        padding:0;
        font-size:0;
    }

    .pdf-modal__navigation button span
    {
        font-size:20px;
    }

    .pdf-modal__download
    {
        min-width:0;
        flex:1.25;
        font-size:15px;
    }

    .pdf-modal__pages
    {
        gap:14px;
        padding:14px 10px 28px;
        scroll-padding-top:14px;
    }
}

.legal-body
{
    margin:0;
    background:var(--cream);
    color:var(--ink);
}

.legal-header
{
    position:relative;
    background:var(--navy);
    color:var(--cream);
}


.legal-topbar
{
    height:110px;

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

    border-bottom:1px solid rgba(201,164,106,.35);
}


.legal-logo
{
    display:block;
    width:185px;
}


.legal-logo img
{
    display:block;
    width:100%;
    height:auto;
}


.legal-topbar-right
{
    display:flex;
    align-items:center;
    gap:45px;
}


.legal-back
{
    display:flex;
    align-items:center;
    gap:12px;

    color:var(--cream);
    text-decoration:none;

    font-family:"Cormorant Garamond",serif;
    font-size:18px;

    transition:color .2s ease;
}


.legal-back span
{
    color:var(--gold);
    font-size:22px;
}


.legal-back:hover
{
    color:var(--gold);
}

.legal-hero
{
    min-height:440px;

    display:grid;
    grid-template-columns:180px minmax(0,1fr);

    align-items:center;

    padding-top:50px;
    padding-bottom:65px;
}


.legal-hero-number
{
    align-self:start;

    padding-top:50px;

    color:var(--gold);

    font-family:"Playfair Display",serif;
    font-size:18px;

    letter-spacing:.08em;
}


.legal-hero-content
{
    max-width:900px;
}


.legal-hero .eyebrow
{
    margin-bottom:24px;
}


.legal-hero h1
{
    margin:0;

    color:var(--cream);

    font-family:"Playfair Display",serif;
    font-weight:400;

    font-size:clamp(58px,6vw,96px);
    line-height:.93;

    letter-spacing:-.035em;
}


.legal-version
{
    margin:30px 0 0;

    color:rgba(244,237,223,.58);

    font-family:"Cormorant Garamond",serif;
    font-size:17px;

    letter-spacing:.03em;
}

.legal-main
{
    background:var(--cream);
    padding:100px 0 130px;
}


.legal-layout
{
    display:grid;

    grid-template-columns:280px minmax(0,760px);

    justify-content:space-between;

    gap:90px;
}

.legal-aside
{
    align-self:start;
    position:sticky;
    top:35px;
}


.legal-aside-title
{
    margin-bottom:25px;

    color:#8d7657;

    font-family:"Cormorant Garamond",serif;

    font-size:13px;
    font-weight:600;

    text-transform:uppercase;
    letter-spacing:.17em;
}


.legal-doc-nav
{
    display:flex;
    flex-direction:column;
}


.legal-doc-nav a
{
    position:relative;

    display:grid;
    grid-template-columns:35px 1fr;

    gap:10px;

    padding:17px 0;

    border-top:1px solid rgba(24,32,39,.18);

    color:rgba(24,32,39,.6);

    font-family:"Cormorant Garamond",serif;
    font-size:18px;

    text-decoration:none;

    transition:
        color .2s ease,
        padding-left .2s ease;
}


.legal-doc-nav a:last-child
{
    border-bottom:1px solid rgba(24,32,39,.18);
}


.legal-doc-nav a span
{
    color:#a98c61;

    font-size:12px;
    letter-spacing:.08em;
}


.legal-doc-nav a:hover
{
    color:var(--ink);
    padding-left:5px;
}


.legal-doc-nav a.active
{
    color:var(--ink);
    font-weight:600;
}


.legal-doc-nav a.active::after
{
    content:"";

    position:absolute;

    top:-1px;
    left:0;

    width:70px;
    height:1px;

    background:var(--gold);
}

.legal-content
{
    width:100%;
}


.legal-lede
{
    display:grid;
    grid-template-columns:42px 1fr;

    gap:25px;

    padding:0 0 60px;

    border-bottom:1px solid rgba(24,32,39,.22);
}


.legal-lede-star
{
    color:var(--gold);

    font-size:20px;
    line-height:1.4;
}


.legal-lede p
{
    max-width:680px;

    margin:0;

    color:var(--ink);

    font-family:"Cormorant Garamond",serif;

    font-size:24px;
    line-height:1.42;
}


.legal-lede strong
{
    font-weight:600;
}

.legal-section
{
    display:grid;
    grid-template-columns:42px minmax(0,1fr);

    gap:25px;

    padding:58px 0;

    border-bottom:1px solid rgba(24,32,39,.18);
}


.legal-section-number
{
    padding-top:7px;

    color:#a98c61;

    font-family:"Cormorant Garamond",serif;

    font-size:13px;
    font-weight:600;

    letter-spacing:.1em;
}


.legal-section h2
{
    margin:0 0 22px;

    color:var(--ink);

    font-family:"Playfair Display",serif;

    font-size:32px;
    font-weight:400;

    line-height:1.12;
    letter-spacing:-.02em;
}


.legal-section p,
.legal-section li
{
    color:#3e4549;

    font-family:"Cormorant Garamond",serif;

    font-size:19px;
    line-height:1.55;
}


.legal-section p
{
    margin:0 0 17px;
}


.legal-section p:last-child
{
    margin-bottom:0;
}


.legal-section ul
{
    margin:0 0 25px;
    padding:0;

    list-style:none;
}


.legal-section li
{
    position:relative;

    padding:0 0 16px 22px;
}


.legal-section li::before
{
    content:"✦";

    position:absolute;

    left:0;
    top:3px;

    color:var(--gold);

    font-size:9px;
}


.legal-section strong
{
    color:var(--ink);
    font-weight:600;
}


.legal-section code
{
    padding:2px 6px;

    background:rgba(201,164,106,.13);

    color:#735c3c;

    font-size:.84em;
}

.legal-callout
{
    display:grid;
    grid-template-columns:42px 1fr;

    gap:25px;

    margin-top:65px;

    padding:34px 38px;

    border:1px solid var(--gold);

    background:rgba(201,164,106,.07);
}


.legal-callout-mark
{
    color:var(--gold);
    font-size:20px;
}


.legal-callout h3
{
    margin:0 0 10px;

    color:var(--ink);

    font-family:"Playfair Display",serif;

    font-size:24px;
    font-weight:400;
}


.legal-callout p
{
    margin:0;

    color:#3e4549;

    font-family:"Cormorant Garamond",serif;

    font-size:18px;
    line-height:1.5;
}

@media (max-width:1000px)
{
    .legal-hero
    {
        grid-template-columns:80px 1fr;
    }


    .legal-layout
    {
        grid-template-columns:220px minmax(0,1fr);
        gap:55px;
    }
}

@media (max-width:760px)
{
    .legal-topbar
    {
        height:82px;
    }


    .legal-logo
    {
        width:145px;
    }


    .legal-topbar-right
    {
        gap:18px;
    }


    .legal-topbar-right .langs
    {
        display:none;
    }


    .legal-back
    {
        font-size:16px;
    }


    .legal-hero
    {
        min-height:340px;

        display:block;

        padding-top:65px;
        padding-bottom:55px;
    }


    .legal-hero-number
    {
        display:none;
    }


    .legal-hero h1
    {
        font-size:clamp(46px,13vw,64px);
        line-height:.95;
    }


    .legal-version
    {
        margin-top:23px;
        font-size:15px;
    }


    .legal-main
    {
        padding:55px 0 80px;
    }


    .legal-layout
    {
        display:block;
    }


    .legal-aside
    {
        position:relative;
        top:auto;

        margin-bottom:65px;
    }


    .legal-doc-nav
    {
        display:grid;
        grid-template-columns:1fr 1fr;
    }


    .legal-doc-nav a
    {
        grid-template-columns:26px 1fr;

        padding:14px 8px 14px 0;

        font-size:15px;
    }


    .legal-doc-nav a:nth-child(even)
    {
        padding-left:12px;
    }


    .legal-doc-nav a.active::after
    {
        width:45px;
    }


    .legal-lede
    {
        grid-template-columns:25px 1fr;

        gap:12px;

        padding-bottom:45px;
    }


    .legal-lede p
    {
        font-size:21px;
    }


    .legal-section
    {
        grid-template-columns:25px 1fr;

        gap:12px;

        padding:43px 0;
    }


    .legal-section h2
    {
        margin-bottom:18px;

        font-size:27px;
    }


    .legal-section p,
    .legal-section li
    {
        font-size:17px;
        line-height:1.55;
    }


    .legal-callout
    {
        grid-template-columns:25px 1fr;

        gap:12px;

        margin-top:50px;

        padding:27px 22px;
    }


    .legal-callout h3
    {
        font-size:22px;
    }
}

@media (max-width:480px)
{
    .legal-doc-nav
    {
        grid-template-columns:1fr;
    }


    .legal-doc-nav a:nth-child(even)
    {
        padding-left:0;
    }
}

.feedback-hero-text
{
    max-width:620px;

    margin:30px 0 0;

    color:rgba(244,237,223,.68);

    font-family:"Cormorant Garamond",serif;

    font-size:21px;
    line-height:1.45;
}


.feedback-main
{
    padding:100px 0 130px;

    background:var(--cream);
}


.feedback-layout
{
    display:grid;

    grid-template-columns:280px minmax(0,760px);

    justify-content:space-between;

    gap:90px;
}


.feedback-content
{
    min-width:0;
}

.feedback-intro
{
    display:grid;

    grid-template-columns:42px minmax(0,1fr);

    gap:25px;

    padding-bottom:55px;

    border-bottom:1px solid rgba(24,32,39,.2);
}


.feedback-intro-star
{
    padding-top:4px;

    color:var(--gold);

    font-size:20px;
}


.feedback-intro .eyebrow
{
    margin-bottom:20px;
}


.feedback-intro h2
{
    margin:0 0 22px;

    color:var(--ink);

    font-family:"Playfair Display",serif;

    font-size:42px;
    font-weight:400;

    line-height:1.05;
    letter-spacing:-.025em;
}


.feedback-intro p
{
    max-width:600px;

    margin:0;

    color:#52585b;

    font-family:"Cormorant Garamond",serif;

    font-size:19px;
    line-height:1.5;
}

.feedback-form
{
    padding-top:55px;
}


.feedback-field
{
    margin-bottom:38px;
}


.feedback-field-head
{
    display:flex;

    align-items:flex-end;
    justify-content:space-between;

    gap:20px;

    margin-bottom:14px;
}


.feedback-field-head label
{
    color:var(--ink);

    font-family:"Cormorant Garamond",serif;

    font-size:19px;
    font-weight:600;
}


.feedback-field-head span
{
    color:#917b5d;

    font-family:"Cormorant Garamond",serif;

    font-size:14px;
}


.feedback-field textarea
{
    display:block;

    width:100%;
    min-height:220px;

    box-sizing:border-box;

    resize:vertical;

    padding:23px 25px;

    border:1px solid rgba(24,32,39,.3);
    border-radius:0;

    outline:none;

    background:rgba(255,255,255,.18);

    color:var(--ink);

    font-family:"Cormorant Garamond",serif;

    font-size:19px;
    line-height:1.5;

    transition:
        border-color .2s ease,
        background .2s ease;
}


.feedback-field textarea::placeholder
{
    color:rgba(24,32,39,.42);
}


.feedback-field textarea:focus
{
    border-color:var(--gold);

    background:rgba(255,255,255,.3);
}

.feedback-upload
{
    display:grid;

    grid-template-columns:minmax(0,1fr) auto;

    align-items:center;

    column-gap:30px;
    row-gap:20px;

    padding:28px 0;

    border-top:1px solid rgba(24,32,39,.18);
    border-bottom:1px solid rgba(24,32,39,.18);
}


.feedback-upload-copy
{
    display:flex;

    align-items:center;

    gap:20px;
}


.feedback-upload-icon
{
    flex:0 0 auto;

    width:46px;
    height:46px;

    display:flex;

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

    border:1px solid var(--gold);

    color:var(--gold);

    font-family:"Cormorant Garamond",serif;

    font-size:28px;
    font-weight:300;
}


.feedback-upload h3
{
    margin:0 0 4px;

    color:var(--ink);

    font-family:"Playfair Display",serif;

    font-size:21px;
    font-weight:400;
}


.feedback-upload p
{
    margin:0 0 3px;

    color:#52585b;

    font-family:"Cormorant Garamond",serif;

    font-size:17px;
}


.feedback-upload small
{
    color:#8a8175;

    font-family:"Cormorant Garamond",serif;

    font-size:13px;
}


.feedback-file-button
{
    min-width:145px;

    box-sizing:border-box;

    padding:12px 20px;

    border:1px solid var(--ink);

    color:var(--ink);

    font-family:"Cormorant Garamond",serif;

    font-size:16px;
    font-weight:600;

    text-align:center;

    cursor:pointer;

    transition:
        background .2s ease,
        color .2s ease;
}


.feedback-file-button:hover
{
    background:var(--ink);
    color:var(--cream);
}


.feedback-files
{
    grid-column:1 / -1;

    display:flex;

    flex-wrap:wrap;

    gap:7px;

    color:#8a8175;

    font-family:"Cormorant Garamond",serif;

    font-size:14px;
}


.feedback-files span
{
    display:inline-block;

    padding:7px 10px;

    border:1px solid rgba(24,32,39,.16);

    color:#52585b;
}

.feedback-honeypot
{
    position:absolute !important;

    left:-10000px !important;

    width:1px !important;
    height:1px !important;

    opacity:0 !important;

    pointer-events:none !important;
}

.feedback-bottom
{
    display:flex;

    align-items:center;
    justify-content:space-between;

    gap:40px;

    padding-top:40px;
}


.feedback-privacy
{
    display:flex;

    align-items:flex-start;

    gap:10px;

    max-width:410px;

    margin:0;

    color:#777166;

    font-family:"Cormorant Garamond",serif;

    font-size:14px;
    line-height:1.4;
}


.feedback-privacy span
{
    flex:0 0 auto;

    color:var(--gold);

    font-size:10px;

    margin-top:3px;
}

.feedback-submit
{
    position:relative;

    flex:0 0 auto;

    width:230px;
    height:58px;

    padding:0;

    border:0;

    background:none;

    cursor:pointer;
}


.feedback-submit svg
{
    position:absolute;

    inset:0;

    width:100%;
    height:100%;

    overflow:visible;
}


.feedback-submit svg path
{
    fill:var(--navy);

    transition:fill .2s ease;
}


.feedback-submit > span
{
    position:relative;

    z-index:1;

    width:100%;
    height:100%;

    display:flex;

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

    gap:30px;

    color:var(--cream);

    font-family:"Cormorant Garamond",serif;

    font-size:17px;
    font-weight:600;

    text-transform:uppercase;

    letter-spacing:.04em;

    pointer-events:none;
}


.feedback-submit b
{
    color:var(--gold);

    font-size:21px;
    font-weight:400;
}


.feedback-submit:hover svg path
{
    fill:#0b1c29;
}

.feedback-status
{
    min-height:20px;

    margin-top:25px;

    color:#74654e;

    font-family:"Cormorant Garamond",serif;

    font-size:15px;
}

@media (max-width:1000px)
{
    .feedback-layout
    {
        grid-template-columns:220px minmax(0,1fr);

        gap:55px;
    }
}

@media (max-width:760px)
{
    .feedback-hero-text
    {
        max-width:100%;

        margin-top:22px;

        font-size:18px;
    }


    .feedback-main
    {
        padding:55px 0 80px;
    }


    .feedback-layout
    {
        display:block;
    }


    .feedback-layout .legal-aside
    {
        margin-bottom:65px;
    }


    .feedback-intro
    {
        grid-template-columns:25px 1fr;

        gap:12px;

        padding-bottom:42px;
    }


    .feedback-intro h2
    {
        font-size:31px;
    }


    .feedback-intro p
    {
        font-size:17px;
    }


    .feedback-form
    {
        padding-top:42px;
    }


    .feedback-field textarea
    {
        min-height:190px;

        padding:18px;

        font-size:17px;
    }


    .feedback-upload
    {
        grid-template-columns:1fr;

        padding:24px 0;
    }


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


    .feedback-files
    {
        grid-column:auto;
    }


    .feedback-bottom
    {
        flex-direction:column;

        align-items:stretch;

        gap:28px;
    }


    .feedback-privacy
    {
        max-width:none;
    }


    .feedback-submit
    {
        width:100%;
    }
}

@media (min-width:761px) and (max-width:1100px)
{
    .site-footer
    {
        padding:55px 0 40px;
    }

    .site-footer .footer-top
    {
        display:flex;
        flex-direction:column;
        align-items:center;
        justify-content:flex-start;

        gap:28px;

        padding-bottom:42px;
    }

    .site-footer .footer-logo
    {
        display:block;

        width:260px;
        flex:0 0 auto;

        margin:0;
    }

    .site-footer .footer-nav
    {
        width:100%;

        display:flex;
        flex-wrap:wrap;

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

        gap:14px 38px;

        margin:0;
    }

    .site-footer .footer-nav a
    {
        font-size:16px;
        white-space:nowrap;
    }

    .site-footer .footer-line
    {
        margin:0;
    }

    .site-footer .footer-bottom
    {
        padding-top:26px;
    }
}

@media (min-width:761px) and (max-width:1100px)
{
    .process
    {
        position:relative;
        overflow:hidden;

        padding:70px 0 80px;
    }

    .process .shell
    {
        position:relative;
    }

    .process-grid
    {
        display:block;

        width:100%;
        max-width:none;
    }

.process-copy
{
    position:relative;
    z-index:2;

    width:calc(100% - 80px);
    max-width:none;

    margin-left:40px;
    margin-right:40px;
}

    .process h2
    {
        width:100%;
        max-width:720px;

        margin:0 0 48px;

        font-size:clamp(46px, 6vw, 62px);
        line-height:1.02;
    }

.steps
{
    display:grid;

    grid-template-columns:repeat(3, minmax(0, 1fr));
    column-gap:42px;

    width:calc(100% - 80px);
    max-width:none;

    margin:0 40px 48px;
}

.process-step
{
    width:auto;
    min-width:0;
    margin:0;
    text-align:left;
}

.steps .process-step:first-child
{
    width:auto;
    min-width:0;
    margin:0;
    transform:none;
}

    .step-number
    {
        display:block;

        margin:0 0 20px;

        font-size:42px;
        line-height:1;
    }

    .step-icon
    {
        width:52px;
        height:52px;

        margin:0 0 22px;
    }

    .process-step h3
    {
        margin:0 0 14px;

        font-size:23px;
        line-height:1.08;
    }

    .process-step p
    {
        width:100%;
        max-width:205px;

        margin:0;

        font-size:16px;
        line-height:1.38;
    }

    .process-step h3 br,
    .process-step p br
    {
        display:block;
    }

    .step-divider
    {
        display:none !important;
    }

.process-button
{
    position:relative;
    z-index:3;

    width:calc(100% - 80px);
    max-width:none;

    margin:0 40px;

    height:56px;
}

.process-art
{
    position:absolute;
    z-index:1;

    width:400px;
    height:400px;

    right:-210px;
    bottom:-45px;

    margin:0;

    pointer-events:none;
}

.process h2
{
    width:auto;
    max-width:720px;

    margin:0 40px 48px;

    font-size:clamp(46px, 6vw, 62px);
    line-height:1.02;
}

.process .eyebrow
{
    margin-left:40px;
}
    .process-art img
    {
        position:absolute;

        width:430px;
        max-width:none;

        top:0;
        right:0;

        transform:none;

        opacity:.48;
    }
}

.guarantee
{
    width:100%;
    background:#C9A46A;
}

.guarantee .container
{
    width:calc(100% - 400px);
    max-width:1230px;

    margin:0 auto;
    padding:0;
}


.guarantee-inner
{
    display:grid;

    grid-template-columns:220px minmax(0, 1fr);

    align-items:center;

    min-height:295px;
}

.guarantee-value
{
    min-width:0;

    padding-right:45px;
}


.guarantee-value > div
{
    display:flex;
    align-items:flex-start;

    color:#020D17;
}


.guarantee-value span
{
    font-family:"PlayfairDisplay", serif;

    font-size:78px;
    font-weight:400;

    line-height:.85;

    letter-spacing:-.03em;
}


.guarantee-value sup
{
    margin:2px 0 0 6px;

    color:#020D17;

    font-family:"Cormorant-Regular", serif;

    font-size:22px;
    font-weight:400;

    line-height:1;
}


.guarantee-value small
{
    display:block;

    margin-top:13px;

    color: #000;
    font-family: Cormorant-Regular, sans-serif;
    font-weight: 400;
    font-size: 17px;
}

.guarantee-copy
{
    min-width:0;

    padding:48px 0 48px 55px;

    border-left:1px solid #020D17;
}


.guarantee-label
{
    display:block;

    margin-bottom:16px;

     font-family: "Cormorant-SemiBold", sans-serif;
    color: #000;
    font-size: 18px;
}


.guarantee-copy h2
{
    max-width:720px;

    margin:0 0 18px;

    color:#020D17;

font-family: "PlayfairDisplay", sans-serif;
    font-weight: 400;
    font-size: 28px;
}


.guarantee-copy h2 em
{
    color:#020D17;

    font-family:"PlayfairDisplay", serif;

    font-style:normal;
    font-weight:400;
}


.guarantee-copy p
{
    max-width:600px;

    margin:0;

font-family: "Cormorant-Regular", sans-serif;
    font-weight: 400;
    color: #000;
    font-size: 17px;
}

@media (max-width:1200px)
{
    .guarantee .container
    {
        width:calc(100% - 100px);
    }


    .guarantee-inner
    {
        grid-template-columns:190px minmax(0,1fr);
    }


    .guarantee-value span
    {
        font-size:68px;
    }


    .guarantee-copy
    {
        padding-left:45px;
    }


    .guarantee-copy h2
    {
        font-size:34px;
    }
}

@media (max-width:700px)
{
    .guarantee .container
    {
        width:calc(100% - 40px);

        margin:0 auto;
    }


    .guarantee-inner
    {
        display:block;

        min-height:0;

        padding:38px 0 42px;
    }


    .guarantee-value
    {
        padding:0 0 28px;
    }


    .guarantee-value span
    {
        font-size:65px;
    }


    .guarantee-value sup
    {
        font-size:19px;
    }


    .guarantee-value small
    {
        margin-top:9px;

        font-size:10px;
    }


    .guarantee-copy
    {
        padding:27px 0 0;

        border-left:0;

        border-top:1px solid #020D17;
    }


    .guarantee-label
    {
        margin-bottom:12px;

        font-size:11px;
    }


    .guarantee-copy h2
    {
        max-width:none;

        margin-bottom:16px;

        font-size:28px;

        line-height:1.1;
    }


    .guarantee-copy h2 br
    {
        display:none;
    }


    .guarantee-copy p
    {
        max-width:none;

        font-size:16px;

        line-height:1.4;
    }
}

.legal-header
{
    position:relative;

    background:var(--navy);
}


.legal-topbar
{
    height:92px;

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

    border-bottom:1px solid rgba(201,164,106,.28);
}


.legal-logo
{
    width:170px;
}


.legal-back
{
    display:flex;
    align-items:center;

    gap:10px;

    color:var(--cream);

    font-family:"Cormorant Garamond",serif;

    font-size:17px;

    text-decoration:none;
}


.legal-back span
{
    color:var(--gold);

    font-size:20px;
}


.legal-back:hover
{
    color:var(--gold);
}

.legal-hero
{
    display:none !important;
}

.legal-main
{
    min-height:calc(100vh - 92px);

    padding:75px 0 120px;

    background:var(--cream);
}

.legal-layout
{
    display:grid;

    grid-template-columns:
        minmax(200px,250px)
        minmax(0,780px);

    justify-content:space-between;

    align-items:start;

    gap:clamp(55px,7vw,120px);
}

.legal-aside
{
    position:sticky;

    top:35px;

    align-self:start;

    min-width:0;
}


.legal-aside-title
{
    margin:0 0 24px;

    color:#8d7657;

    font-family:"Cormorant Garamond",serif;

    font-size:13px;
    font-weight:600;

    line-height:1;

    text-transform:uppercase;

    letter-spacing:.17em;
}


.legal-doc-nav
{
    display:flex;

    flex-direction:column;
}


.legal-doc-nav a
{
    position:relative;

    display:grid;

    grid-template-columns:30px minmax(0,1fr);

    gap:10px;

    padding:17px 0;

    border-top:1px solid rgba(24,32,39,.18);

    color:rgba(24,32,39,.58);

    font-family:"Cormorant Garamond",serif;

    font-size:17px;

    line-height:1.2;

    text-decoration:none;

    transition:
        color .2s ease,
        padding-left .2s ease;
}


.legal-doc-nav a:last-child
{
    border-bottom:1px solid rgba(24,32,39,.18);
}


.legal-doc-nav a span
{
    padding-top:2px;

    color:#a98c61;

    font-size:11px;

    letter-spacing:.08em;
}


.legal-doc-nav a:hover
{
    padding-left:4px;

    color:var(--ink);
}


.legal-doc-nav a.active
{
    color:var(--ink);

    font-weight:600;
}


.legal-doc-nav a.active::after
{
    content:"";

    position:absolute;

    top:-1px;
    left:0;

    width:62px;
    height:1px;

    background:var(--gold);
}

.legal-content
{
    width:100%;

    min-width:0;
}

.legal-document-head
{
    margin:0 0 55px;

    padding:0 0 50px;

    border-bottom:1px solid rgba(24,32,39,.2);
}


.legal-document-head .eyebrow
{
    margin:0 0 18px;

    color:var(--gold);
}


.legal-document-head h1
{
    max-width:780px;

    margin:0;

    color:var(--ink);

    font-family:"Playfair Display",serif;

    font-size:clamp(48px,4.5vw,72px);
    font-weight:400;

    line-height:.98;

    letter-spacing:-.035em;

    overflow-wrap:anywhere;
}


.legal-document-head .legal-version
{
    margin:22px 0 0;

    color:#8a8378;

    font-family:"Cormorant Garamond",serif;

    font-size:15px;

    line-height:1.3;

    letter-spacing:.03em;
}

.legal-lede
{
    display:grid;

    grid-template-columns:30px minmax(0,1fr);

    gap:18px;

    padding:0 0 50px;

    border-bottom:1px solid rgba(24,32,39,.2);
}


.legal-lede-star
{
    padding-top:3px;

    color:var(--gold);

    font-size:18px;

    line-height:1;
}


.legal-lede p
{
    max-width:700px;

    margin:0;

    color:var(--ink);

    font-family:"Cormorant Garamond",serif;

    font-size:22px;

    line-height:1.45;
}

.legal-section
{
    display:grid;

    grid-template-columns:30px minmax(0,1fr);

    gap:18px;

    padding:50px 0;

    border-bottom:1px solid rgba(24,32,39,.16);
}


.legal-section-number
{
    padding-top:6px;

    color:#a98c61;

    font-family:"Cormorant Garamond",serif;

    font-size:12px;
    font-weight:600;

    line-height:1;

    letter-spacing:.1em;
}


.legal-section h2
{
    margin:0 0 20px;

    color:var(--ink);

    font-family:"Playfair Display",serif;

    font-size:30px;
    font-weight:400;

    line-height:1.12;

    letter-spacing:-.02em;
}


.legal-section p,
.legal-section li
{
    color:#3e4549;

    font-family:"Cormorant Garamond",serif;

    font-size:18px;

    line-height:1.55;
}


.legal-section p
{
    margin:0 0 16px;
}


.legal-section p:last-child
{
    margin-bottom:0;
}


.legal-section ul
{
    margin:0 0 24px;

    padding:0;

    list-style:none;
}


.legal-section li
{
    position:relative;

    padding:0 0 14px 20px;
}


.legal-section li::before
{
    content:"✦";

    position:absolute;

    top:4px;
    left:0;

    color:var(--gold);

    font-size:8px;
}

.legal-callout
{
    display:grid;

    grid-template-columns:28px minmax(0,1fr);

    gap:16px;

    margin-top:50px;

    padding:30px 32px;

    border:1px solid rgba(201,164,106,.8);

    background:rgba(201,164,106,.055);
}


.legal-callout-mark
{
    color:var(--gold);

    font-size:18px;
}


.legal-callout h3
{
    margin:0 0 9px;

    color:var(--ink);

    font-family:"Playfair Display",serif;

    font-size:23px;
    font-weight:400;
}


.legal-callout p
{
    margin:0;

    color:#3e4549;

    font-family:"Cormorant Garamond",serif;

    font-size:17px;

    line-height:1.5;
}

.feedback-main
{
    min-height:calc(100vh - 92px);

    padding:75px 0 120px;

    background:var(--cream);
}


.feedback-layout
{
    display:grid;

    grid-template-columns:
        minmax(200px,250px)
        minmax(0,780px);

    justify-content:space-between;

    align-items:start;

    gap:clamp(55px,7vw,120px);
}


.feedback-content
{
    width:100%;

    min-width:0;
}


.feedback-intro
{
    display:grid;

    grid-template-columns:30px minmax(0,1fr);

    gap:18px;

    padding:0 0 48px;

    border-bottom:1px solid rgba(24,32,39,.2);
}


.feedback-intro-star
{
    padding-top:4px;

    color:var(--gold);

    font-size:18px;
}


.feedback-intro .eyebrow
{
    margin-bottom:16px;
}


.feedback-intro h2
{
    margin:0 0 18px;

    color:var(--ink);

    font-family:"Playfair Display",serif;

    font-size:clamp(34px,3.5vw,48px);
    font-weight:400;

    line-height:1.05;

    letter-spacing:-.025em;
}


.feedback-intro p
{
    max-width:650px;

    margin:0;

    color:#52585b;

    font-family:"Cormorant Garamond",serif;

    font-size:18px;

    line-height:1.5;
}


.feedback-form
{
    padding-top:48px;
}

@media (max-width:1279px)
{
    .legal-main,
    .feedback-main
    {
        padding-top:65px;
    }


    .legal-layout,
    .feedback-layout
    {
        grid-template-columns:210px minmax(0,1fr);

        gap:55px;
    }


    .legal-document-head h1
    {
        font-size:clamp(46px,5.5vw,62px);
    }
}

@media (max-width:1023px)
{
    .legal-topbar
    {
        height:82px;
    }


    .legal-logo
    {
        width:150px;
    }


    .legal-main,
    .feedback-main
    {
        min-height:calc(100vh - 82px);

        padding:52px 0 85px;
    }


    .legal-layout,
    .feedback-layout
    {
        grid-template-columns:180px minmax(0,1fr);

        gap:40px;
    }


    .legal-doc-nav a
    {
        grid-template-columns:24px minmax(0,1fr);

        gap:7px;

        padding:14px 0;

        font-size:15px;
    }


    .legal-document-head
    {
        margin-bottom:42px;

        padding-bottom:40px;
    }


    .legal-document-head h1
    {
        font-size:clamp(40px,5.7vw,55px);
    }


    .legal-lede p
    {
        font-size:20px;
    }


    .legal-section
    {
        padding:43px 0;
    }


    .legal-section h2
    {
        font-size:27px;
    }


    .legal-section p,
    .legal-section li
    {
        font-size:17px;
    }
}

@media (max-width:767px)
{
    .legal-topbar
    {
        height:72px;
    }


    .legal-logo
    {
        width:135px;
    }


    .legal-topbar-right
    {
        gap:0;
    }


    .legal-topbar-right .langs
    {
        display:none;
    }


    .legal-back
    {
        gap:7px;

        font-size:15px;
    }


    .legal-back span
    {
        font-size:17px;
    }


    .legal-main,
    .feedback-main
    {
        min-height:calc(100vh - 72px);

        padding:32px 0 65px;
    }


    .legal-layout,
    .feedback-layout
    {
        display:flex;

        flex-direction:column;

        gap:0;
    }

    .legal-aside,
    .feedback-layout .legal-aside
    {
        position:relative;

        top:auto;

        width:100%;

        margin:0 0 45px;
    }


    .legal-aside-title
    {
        margin-bottom:15px;

        font-size:11px;
    }

    .legal-doc-nav
    {
        display:flex;

        flex-direction:row;

        width:100%;

        overflow-x:auto;
        overflow-y:hidden;

        scrollbar-width:none;

        -webkit-overflow-scrolling:touch;
    }


    .legal-doc-nav::-webkit-scrollbar
    {
        display:none;
    }


    .legal-doc-nav a
    {
        flex:0 0 auto;

        display:flex;

        align-items:center;

        gap:7px;

        min-width:max-content;

        padding:13px 20px 13px 0;

        margin-right:20px;

        border-top:1px solid rgba(24,32,39,.18);
        border-bottom:1px solid rgba(24,32,39,.18);

        font-size:14px;

        white-space:nowrap;
    }


    .legal-doc-nav a:last-child
    {
        margin-right:0;
    }


    .legal-doc-nav a span
    {
        padding:0;

        font-size:10px;
    }


    .legal-doc-nav a:hover
    {
        padding-left:0;
    }


    .legal-doc-nav a.active::after
    {
        top:-1px;

        width:42px;
    }

    .legal-document-head
    {
        margin:0 0 35px;

        padding:0 0 34px;
    }


    .legal-document-head .eyebrow
    {
        margin-bottom:13px;
    }


    .legal-document-head h1
    {
        max-width:100%;

        font-size:clamp(37px,10.8vw,52px);

        line-height:.98;

        overflow-wrap:normal;
        word-break:normal;
    }


    .legal-document-head .legal-version
    {
        margin-top:17px;

        font-size:14px;
    }

    .legal-lede
    {
        grid-template-columns:18px minmax(0,1fr);

        gap:10px;

        padding-bottom:35px;
    }


    .legal-lede-star
    {
        font-size:14px;
    }


    .legal-lede p
    {
        font-size:19px;

        line-height:1.45;
    }

    .legal-section
    {
        grid-template-columns:18px minmax(0,1fr);

        gap:10px;

        padding:37px 0;
    }


    .legal-section-number
    {
        padding-top:5px;

        font-size:10px;
    }


    .legal-section h2
    {
        margin-bottom:16px;

        font-size:25px;

        line-height:1.12;
    }


    .legal-section p,
    .legal-section li
    {
        font-size:16.5px;

        line-height:1.55;
    }


    .legal-section li
    {
        padding-left:18px;
    }

    .legal-callout
    {
        grid-template-columns:18px minmax(0,1fr);

        gap:10px;

        margin-top:38px;

        padding:23px 20px;
    }


    .legal-callout-mark
    {
        font-size:14px;
    }


    .legal-callout h3
    {
        font-size:21px;
    }


    .legal-callout p
    {
        font-size:16px;
    }


    /* FEEDBACK */

    .feedback-intro
    {
        grid-template-columns:18px minmax(0,1fr);

        gap:10px;

        padding-bottom:35px;
    }


    .feedback-intro-star
    {
        font-size:14px;
    }


    .feedback-intro h2
    {
        font-size:30px;
    }


    .feedback-intro p
    {
        font-size:16.5px;
    }


    .feedback-form
    {
        padding-top:38px;
    }


    .feedback-field
    {
        margin-bottom:30px;
    }


    .feedback-field-head
    {
        align-items:flex-start;

        flex-direction:column;

        gap:5px;

        margin-bottom:11px;
    }


    .feedback-field textarea
    {
        min-height:170px;

        padding:17px;

        font-size:16px;
    }


    .feedback-upload
    {
        grid-template-columns:1fr;

        padding:22px 0;
    }


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


    .feedback-files
    {
        grid-column:auto;
    }


    .feedback-bottom
    {
        flex-direction:column;

        align-items:stretch;

        gap:25px;
    }


    .feedback-privacy
    {
        max-width:none;
    }


    .feedback-submit
    {
        width:100%;
    }
}

@media (max-width:420px)
{
    .legal-logo
    {
        width:122px;
    }


    .legal-back
    {
        font-size:14px;
    }


    .legal-main,
    .feedback-main
    {
        padding-top:27px;
    }


    .legal-aside,
    .feedback-layout .legal-aside
    {
        margin-bottom:38px;
    }


    .legal-document-head h1
    {
        font-size:clamp(34px,10.5vw,44px);
    }


    .legal-lede p
    {
        font-size:18px;
    }


    .legal-section h2
    {
        font-size:23px;
    }


    .legal-section p,
    .legal-section li
    {
        font-size:16px;
    }
}

@media (max-width:350px)
{
    .legal-logo
    {
        width:110px;
    }


    .legal-back
    {
        font-size:13px;
    }


    .legal-back span
    {
        display:none;
    }


    .legal-document-head h1
    {
        font-size:32px;
    }


    .legal-doc-nav a
    {
        margin-right:15px;

        font-size:13px;
    }
}

@media (max-width:767px)
{
    .legal-document-head h1
    {
        max-width:100%;

        font-size:clamp(32px, 9vw, 42px);
        line-height:1.02;

        letter-spacing:-.035em;

        overflow-wrap:anywhere;
        word-break:normal;
        hyphens:auto;
    }

    .legal-content
    {
        width:100%;
        min-width:0;
        max-width:100%;
    }

    .legal-layout
    {
        width:100%;
        min-width:0;
        max-width:100%;
    }

    .legal-main
    {
        overflow-x:hidden;
    }
}


@media (max-width:420px)
{
    .legal-document-head h1
    {
        font-size:34px;
    }
}


@media (max-width:360px)
{
    .legal-document-head h1
    {
        font-size:31px;
    }
}

/* Pricing — informational public catalogue. Final prices remain controlled in admin. */
.pricing
{
    padding:78px 0 82px;
    scroll-margin-top:24px;
}

.pricing-head
{
    display:grid;
    grid-template-columns:minmax(0, 1fr) minmax(320px, 520px);
    align-items:end;
    gap:48px;
    margin-bottom:38px;
}

.pricing h2
{
    margin:6px 0 0;
    color:var(--navy);
    font-family:"PlayfairDisplay", serif;
    font-size:clamp(42px, 5vw, 64px);
    font-weight:400;
    line-height:1;
}

.pricing-head > p
{
    margin:0;
    color:#514b44;
    font-size:20px;
    line-height:1.45;
}

.pricing-grid
{
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:16px;
}

.pricing-card
{
    min-height:338px;
    display:flex;
    flex-direction:column;
    padding:26px 24px 24px;
    border:1px solid rgba(132, 96, 38, .32);
    background:#fffaf1;
    color:var(--navy);
}

.pricing-card--gift
{
    background:#ede5d4;
}

.pricing-card__topline
{
    min-height:34px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
}

.pricing-card__number
{
    color:var(--gold-ink);
    font-family:Georgia, serif;
    font-size:14px;
    letter-spacing:.12em;
}

.pricing-card__badge
{
    padding:7px 10px 6px;
    border:1px solid var(--gold-ink);
    color:var(--gold-ink);
    font-family:"Cormorant-SemiBold", serif;
    font-size:14px;
    line-height:1;
    white-space:nowrap;
}

.pricing-card__badge--discount
{
    border-color:var(--navy);
    background:var(--navy);
    color:#fff;
}

.pricing-card h3
{
    min-height:60px;
    margin:28px 0 18px;
    font-family:"PlayfairDisplay", serif;
    font-size:23px;
    font-weight:400;
    line-height:1.26;
}

.pricing-card__price,
.pricing-card__prices strong
{
    color:var(--navy);
    font-family:"PlayfairDisplay", serif;
    font-size:38px;
    font-weight:400;
    line-height:1;
}

.pricing-card__prices
{
    display:flex;
    align-items:baseline;
    gap:12px;
}

.pricing-card__prices del
{
    color:#766c5e;
    font-size:20px;
}

.pricing-card p
{
    margin:18px 0 22px;
    color:#514b44;
    font-size:17px;
    line-height:1.35;
}

.pricing-card__cta
{
    min-height:48px;
    margin-top:auto;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:11px 14px;
    border:1px solid var(--navy);
    background:var(--navy);
    color:#fff;
    font-family:"Cormorant-SemiBold", serif;
    font-size:17px;
    line-height:1.15;
    text-align:center;
}

.pricing-card--gift .pricing-card__cta
{
    border-color:var(--gold-ink);
    background:transparent;
    color:var(--navy);
}

.pricing-card__cta:hover
{
    opacity:.85;
}

.pricing-note
{
    max-width:760px;
    margin:28px 0 0;
    color:#635e55;
    font-size:16px;
    line-height:1.45;
}

@media (max-width:1100px)
{
    .pricing-grid
    {
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }
}

@media (max-width:760px)
{
    .pricing
    {
        padding:58px 0 62px;
    }

    .pricing-head
    {
        grid-template-columns:1fr;
        gap:22px;
        margin-bottom:30px;
    }

    .pricing h2
    {
        font-size:42px;
    }

    .pricing-head > p
    {
        font-size:18px;
    }

    .pricing-grid
    {
        grid-template-columns:1fr;
        gap:12px;
    }

    .pricing-card
    {
        min-height:0;
        padding:22px 20px 20px;
    }

    .pricing-card h3
    {
        min-height:0;
        margin:22px 0 16px;
        font-size:24px;
    }

    .pricing-card__price,
    .pricing-card__prices strong
    {
        font-size:36px;
    }

    .pricing-card p
    {
        margin:14px 0 20px;
    }
}

@media (max-width:767px)
{
    .legal-topbar
    {
        width:100%;
        padding-left:24px;
        padding-right:24px;

        box-sizing:border-box;
    }

    .legal-main > .shell,
    .feedback-main > .shell
    {
        width:100%;
        max-width:none;

        margin:0;

        padding-left:24px;
        padding-right:24px;

        box-sizing:border-box;
    }


    .legal-layout,
    .feedback-layout
    {
        width:100%;
        max-width:100%;
        min-width:0;
    }


    .legal-aside,
    .legal-content,
    .feedback-content
    {
        width:100%;
        max-width:100%;
        min-width:0;

        box-sizing:border-box;
    }

    .legal-document-head h1
    {
        width:100%;
        max-width:100%;

        font-size:34px;
        line-height:1.03;

        overflow-wrap:anywhere;
        word-break:normal;
    }

    .legal-lede,
    .legal-section,
    .legal-callout
    {
        width:100%;
        max-width:100%;
        min-width:0;

        box-sizing:border-box;
    }


    .legal-lede > *,
    .legal-section > *,
    .legal-callout > *
    {
        min-width:0;
    }
}


@media (max-width:380px)
{
    .legal-topbar
    {
        padding-left:20px;
        padding-right:20px;
    }


    .legal-main > .shell,
    .feedback-main > .shell
    {
        padding-left:20px;
        padding-right:20px;
    }


    .legal-document-head h1
    {
        font-size:32px;
    }
}

/* English legal labels are longer than Russian ones. Keep all four documents
   visible on small screens instead of relying on an unlabelled horizontal swipe. */
@media (max-width:767px)
{
    .legal-body--en .legal-doc-nav
    {
        display:grid;
        grid-template-columns:repeat(2, minmax(0,1fr));
        column-gap:18px;
        overflow:visible;
    }

    .legal-body--en .legal-doc-nav a,
    .legal-body--en .legal-doc-nav a:last-child
    {
        min-width:0;
        margin:0;
        padding:13px 0;
        white-space:normal;
    }
}

@media (min-width:361px) and (max-width:767px)
{
    .legal-topbar-right
    {
        gap:12px;
    }

    .legal-topbar-right .langs
    {
        display:flex;
        width:72px;
        height:40px;
    }
}

@media (max-width:360px)
{
    .legal-logo
    {
        width:108px;
    }

    .legal-topbar-right
    {
        gap:8px;
    }

    .legal-topbar-right .langs
    {
        display:flex;
        width:62px;
        height:36px;
    }

    .legal-back
    {
        gap:4px;
        font-size:13px;
    }
}

/* Final accessibility layer: secondary copy must remain readable on cream,
   and the native file input must stay available to keyboard users. */
.legal-doc-nav a
{
    color:#5f5a52;
}

.legal-aside-title,
.legal-document-head .legal-version
{
    color:#635e55;
}

.legal-document-head .eyebrow,
.legal-section-number
{
    color:var(--gold-ink);
}

.legal-doc-nav a span,
.feedback-intro-star,
.feedback-upload-icon,
.feedback-privacy span
{
    color:var(--gold-ink);
}

.feedback-upload-icon
{
    border-color:var(--gold-ink);
}

.feedback-field-head span
{
    color:#6f5b3e;
}

.feedback-upload small,
.feedback-files
{
    color:#655e55;
}

.feedback-privacy
{
    color:#635e55;
}

.feedback-field textarea::placeholder
{
    color:#6c6b67;
    opacity:1;
}

.feedback-file-input
{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0 0 0 0);
    clip-path:inset(50%);
    white-space:nowrap;
    border:0;
}

.feedback-file-input:focus-visible + .feedback-file-button
{
    outline:3px solid var(--focus-dark);
    outline-offset:4px;
}

.langs a
{
    min-width:24px;
    min-height:32px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
}

@media (max-width:360px)
{
    .legal-topbar-right
    {
        gap:6px;
    }

    .legal-topbar-right .langs
    {
        width:66px;
        height:40px;
    }

    .legal-topbar-right .langs-content
    {
        gap:1px;
    }
}
