:root{

    --white:#faf9f7;
    --white-dark:#f3f0eb;

    --gold:#c8a97e;
    --gold-light:#d8bb95;

    --black:#111111;
    --footer-dark:#1e231f;
    --text:#555555;

}
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

img{
    user-select:none;
    -webkit-user-select:none;
    -webkit-user-drag:none;
}
::selection{
    background:#c8a97e;
    color:#111;
}

::-moz-selection{
    background:#c8a97e;
    color:#111;
}

html{
    scroll-behavior:smooth;
}

body{
    background:linear-gradient(to bottom,#faf9f7,#f7f3ee);
    color:#111;
    overflow-x:hidden;
    position:relative;
}
body::before{

content:"";

position:fixed;

width:800px;
height:800px;

background:radial-gradient(
circle,
rgba(200,169,126,.06),
transparent 70%
);

top:-200px;
right:-200px;

pointer-events:none;

z-index:-1;

}
/* ---------------- NAVBAR ---------------- */

.navbar{
    position:sticky;
    top:0;
    left:0;
    width:100%;
    height:90px;

    display:grid;
    grid-template-columns:minmax(0,1fr) clamp(155px,18vw,260px) minmax(0,1fr);
    align-items:center;
    column-gap:clamp(18px,3vw,46px);

    padding:0 clamp(22px,5vw,76px);

    z-index:1000;

    background:#fff;
    border-bottom:1px solid rgba(0,0,0,.05);
    backdrop-filter:none;
}

.nav-links{
    display:flex;
    list-style:none;
    gap:clamp(18px,2.8vw,40px);
    align-items:center;
    min-width:0;
}

.nav-links:first-of-type{
    justify-self:end;
}

.nav-links:last-of-type{
    justify-self:start;
}

.nav-links a{
    text-decoration:none;
    color:#111;
    font-family:Inter,sans-serif;
    font-size:clamp(9px,.8vw,11px);
    letter-spacing:clamp(2px,.24vw,3px);
    text-transform:uppercase;
    white-space:nowrap;
    transition:color .25s ease;
}

.nav-links a:hover{
    color:#b89a7a;
}

.nav-logo{
    width:100%;
    height:64px;
    justify-self:center;

    border-radius:0;
    overflow:visible;

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

    text-decoration:none;
}

.nav-logo img{
    width:100%;
    height:100%;
    display:block;
    object-fit:contain;
}

.nav-toggle,
.mobile-menu{
    display:none;
}

.page-scroll-track{
    position:absolute;
    top:100vh;
    left:0;
    width:100%;
    pointer-events:none;
    z-index:0;
    overflow:visible;
    opacity:.78;
}

.page-scroll-track path,
.page-scroll-track circle{
    filter:drop-shadow(0 8px 18px rgba(200,169,126,.34));
}

.stats-bar,
.center-wrap,
.extras-section,
.image-scroll-section,
.quote-section,
.gallery-section,
.contact-section,
footer{
    position:relative;
    z-index:2;
}

body{
    padding-top:0;
}

h1::after{

    content:"";

    display:block;

    width:90px;
    height:1px;

    background:#c8a97e;

    margin:30px auto 0;
}

/* ---------------- HERO VIDEO ---------------- */

.video-container{
    position:relative;
    height:100vh;
    overflow:hidden;
}

.video-container video{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.video-container::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;

    background:
    linear-gradient(
    to bottom,
    rgba(0,0,0,.35),
    rgba(0,0,0,.15),
    rgba(0,0,0,.45));
}

.scroll-indicator{
    position:absolute;
    z-index:2;
    top:50%;
    left:36px;

    width:1px;
    height:210px;

    background:rgba(255,255,255,.62);
    transform:translateY(-50%);
    opacity:0;
    animation:scrollIndicatorIn .9s ease-out .35s forwards;
}

.scroll-indicator::after{
    content:"";
    position:absolute;
    bottom:-1px;
    left:50%;

    width:14px;
    height:14px;

    border-right:1px solid rgba(255,255,255,.82);
    border-bottom:1px solid rgba(255,255,255,.82);
    transform:translateX(-50%) rotate(45deg);
}

.scroll-indicator span{
    position:absolute;
    top:50%;
    left:16px;

    color:white;
    font-family:Inter,sans-serif;
    font-size:11px;
    font-weight:600;
    letter-spacing:1px;

    transform:translateY(-50%) rotate(-90deg);
    transform-origin:left center;
}

.hero-contacts{
    position:fixed;
    z-index:6000;
    top:50%;
    right:34px;

    display:flex;
    flex-direction:column;
    gap:14px;

    transform:translateY(-50%);
    opacity:0;
    animation:heroContactsIn .9s ease-out .5s forwards;
}

.hero-contacts a{
    width:48px;
    height:48px;

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

    border-radius:50%;
    border:1px solid rgba(255,255,255,.45);
    background:rgba(255,255,255,.12);
    color:white;
    text-decoration:none;
    backdrop-filter:blur(10px);

    font-family:Inter,sans-serif;
    font-size:11px;
    font-weight:600;
    letter-spacing:1px;
    text-transform:uppercase;

    transition:.3s;
}

.hero-contacts a:hover{
    background:#c8a97e;
    border-color:#c8a97e;
    transform:translateX(-4px);
}

.hero-contacts.is-over-page a{
    background:#151515;
    border-color:rgba(200,169,126,.62);
    box-shadow:0 12px 28px rgba(17,17,17,.22);
}

.hero-contacts.is-over-page a:hover{
    background:#c8a97e;
    border-color:#c8a97e;
}

.hero-contacts svg{
    width:22px;
    height:22px;
    display:block;
    fill:currentColor;
}

@keyframes scrollIndicatorIn{
    from{
        opacity:0;
        transform:translate(-70px,-50%);
    }

    to{
        opacity:1;
        transform:translate(0,-50%);
    }
}

@keyframes heroContactsIn{
    from{
        opacity:0;
        transform:translate(70px,-50%);
    }

    to{
        opacity:1;
        transform:translate(0,-50%);
    }
}

@media(prefers-reduced-motion:reduce){
    .scroll-indicator,
    .hero-contacts{
        opacity:1;
        animation:none;
    }
}

.hero-content{
    position:absolute;
    z-index:2;

    top:50%;
    left:50%;

    transform:translate(-50%,-50%);

    text-align:center;
    width:min(1100px,96%);
    color:white;
}

.hero-content > span{
    font-family:Inter,sans-serif;
    font-size:12px;
    letter-spacing:6px;
    text-transform:uppercase;
}

.hero-content h1{
    font-family:"Lora",serif;

    font-size:clamp(2rem,4vw,4rem);
    line-height:1;
    letter-spacing:.02em;

    margin:24px 0 22px;
    font-weight:600;
    text-shadow:0 8px 28px rgba(0,0,0,.35);
}

.hero-content h1 span{
    display:block;
    white-space:nowrap;
    margin-bottom:.04em;
}

.hero-content h1 span:last-child{
    margin-bottom:0;
}

.hero-content p{
    max-width:420px;
    margin:0 auto 26px;

    color:rgba(255,255,255,.86);
    font-family:Inter,sans-serif;
    font-size:clamp(.78rem,1vw,.92rem);
    line-height:1.6;
    letter-spacing:.03em;
}

.hero-btn{
    display:inline-block;

    padding:16px 40px;

    border:1px solid rgba(255,255,255,.6);
    border-radius:999px;

    color:white;
    text-decoration:none;

    font-family:Inter,sans-serif;
    font-size:11px;
    letter-spacing:3px;
    text-transform:uppercase;

    transition:.3s;

    background:#c8a97e;
    border:none;

    color:white;

    transition:.4s;
}

.hero-btn:hover{
    background:#111;
    transform:translateY(-3px);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible{
    outline:2px solid #c8a97e;
    outline-offset:4px;
}

/* ---------------- STATS ---------------- */

.stats-bar{

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

    padding:100px 20px;
    text-align:center;
}

.stats-bar strong{
    display:block;
    color:#c8a97e;
    font-family:"Cormorant Garamond",serif;
    font-size:58px;
    font-weight:600;
}

.stats-bar span{
    font-family:Inter,sans-serif;
    font-size:12px;
    letter-spacing:2px;
    text-transform:uppercase;
    color:#666;
}

/* ---------------- GOLD LINE ---------------- */

.gold-line{
    width:1px;
    height:90px;
    background:linear-gradient(to bottom,transparent,#c8a97e,transparent);
    flex:0 0 auto;
    margin:0 -35px;
}

/* ---------------- CONTENT ---------------- */

.center-wrap{
    max-width:1400px;
    margin:auto;
    padding:130px 6vw 150px;
}

.about-sketch{
    display:grid;
    grid-template-columns:minmax(0,1.35fr) minmax(320px,.9fr);
    gap:clamp(60px,8vw,140px);
    align-items:start;
}

.about-left{
    display:flex;
    flex-direction:column;
    gap:58px;
}

.about-photo{
    position:relative;
    overflow:hidden;
    border-radius:18px;
    background:#f3f0eb;
    border:1px solid rgba(200,169,126,.22);
    box-shadow:0 30px 70px rgba(0,0,0,.1);
}

.reveal-slide{
    opacity:1;
}

.about-photo.reveal-slide img{
    transition:transform 1s cubic-bezier(.76,0,.24,1);
    will-change:transform;
}

.reveal-slide-up img{
    transform:translateY(100%);
}

.reveal-slide-down img{
    transform:translateY(-100%);
}

.reveal-slide.is-visible img{
    transform:translateY(0);
}

.about-photo.reveal-slide.is-visible:hover img{
    transform:translateY(0) scale(1.05);
}

@media(prefers-reduced-motion:reduce){
    .reveal-slide img{
        transform:none;
        transition:none;
    }
}

.about-photo img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;

    transition:1s;
}

.about-photo:hover img{
    transform:scale(1.05);
}

.about-photo-large{
    aspect-ratio:1.45;
}

.about-copy{
    max-width:760px;
    padding-left:30px;
    border-left:1px solid rgba(200,169,126,.45);
}

.about-copy h2{
    font-family:"Cormorant Garamond",serif;

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

    line-height:.95;

    margin-bottom:30px;
}

.push-title{
    overflow:hidden;
}

.push-title::before{
    content:attr(data-text);
}

.about-copy h2.push-title{
    color:transparent;
    position:relative;
}

.about-copy h2.push-title::before{
    position:absolute;
    inset:0;
    color:#111;
    transform:translateX(-105%);
    transition:transform 1s cubic-bezier(.76,0,.24,1);
    will-change:transform;
}

.about-copy h2.push-title.is-visible::before{
    transform:translateX(0);
}

@media(prefers-reduced-motion:reduce){
    .about-copy h2.push-title::before{
        transform:translateX(0);
        transition:none;
    }
}

.about-copy p{
    font-family:Inter,sans-serif;
    line-height:2;
    color:#666;

    max-width:720px;
    margin-top:22px;
}

.about-copy p.text-reveal{
    --text-fill:0%;

    color:transparent;
    background:linear-gradient(to bottom,#111 var(--text-fill),#777 var(--text-fill));
    -webkit-background-clip:text;
    background-clip:text;
}

.about-copy p.text-reveal .text-gold-reveal{
    color:transparent;
    background:linear-gradient(to bottom,#c8a97e var(--text-fill),#8f806e var(--text-fill));
    -webkit-background-clip:text;
    background-clip:text;
    -webkit-text-fill-color:transparent;
    font-weight:500;
}

@media(prefers-reduced-motion:reduce){
    .about-copy p.text-reveal{
        --text-fill:100%;
    }
}

.offer-preview{
    position:relative;
    align-self:center;
    margin-top:120px;
    padding-top:54px;
}

.offer-tab{
    position:absolute;
    top:0;
    left:0;
    z-index:2;

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

    height:54px;
    padding:0 34px;

    background:#c8a97e;
    border:1px solid #c8a97e;
    border-bottom:none;
    border-radius:14px 14px 0 0;

    color:white;
    text-decoration:none;

    font-family:Inter,sans-serif;
    font-size:11px;
    letter-spacing:3px;
    text-transform:uppercase;
}

.offer-tab:hover{
    background:#111;
    border-color:#111;
    color:white;
}

.about-photo-offer{
    aspect-ratio:1.08;
    min-height:430px;
    border-top-left-radius:0;
}

/* ---------------- MAIN EVENTS ---------------- */

.main-events{
    margin-top:150px;
}

.section-heading{
    text-align:center;
    margin-bottom:80px;
}

.section-heading span{
    display:block;
    margin-bottom:14px;

    color:#b89a7a;
    font-family:Inter,sans-serif;
    font-size:11px;
    letter-spacing:4px;
    text-transform:uppercase;
}

.section-heading h2{
    font-family:"Cormorant Garamond",serif;
    font-size:clamp(3rem,5vw,5.4rem);
    line-height:.95;
    font-weight:600;
}

.events-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:clamp(22px,2.5vw,42px);
    align-items:end;
}

.event-card{
    height:550px;
    min-height:0;
    padding:36px 30px 30px;

    display:flex;
    flex-direction:column;

    background:rgba(255,255,255,.82);
    border:1px solid rgba(200,169,126,.28);
    border-radius:18px;
    box-shadow:0 28px 70px rgba(0,0,0,.08);
    transition:transform .35s, box-shadow .35s, border-color .35s;
}

.event-card-featured{
    height:680px;
    min-height:0;
    padding-top:46px;
    border-color:rgba(200,169,126,.46);
    box-shadow:0 36px 90px rgba(0,0,0,.11);
}

.event-card h3{
    margin-bottom:18px;

    font-family:"Cormorant Garamond",serif;
    font-size:clamp(2.1rem,3vw,3.15rem);
    line-height:.96;
    font-weight:600;
    letter-spacing:-.02em;
    text-wrap:balance;
}

.event-card-academic h3{
    font-size:clamp(2rem,2.5vw,2.75rem);
}

.event-card p{
    color:#666;
    font-family:Inter,sans-serif;
    font-size:13px;
    line-height:1.7;
}

.event-card ul{
    display:flex;
    flex-direction:column;
    gap:14px;

    margin:28px 0 32px;
    list-style:none;
}

.event-card li{
    position:relative;
    padding-left:28px;

    color:#555;
    font-family:Inter,sans-serif;
    font-size:12.5px;
    line-height:1.5;
}

.event-card li::before{
    content:"";
    position:absolute;
    top:.65em;
    left:0;

    width:8px;
    height:8px;

    border-radius:50%;
    border:1px solid #c8a97e;
    background:#faf9f7;
}

.event-card a{
    align-self:flex-start;
    margin-top:auto;
    padding:14px 34px;

    background:#111;
    color:white;
    border-radius:999px;
    text-decoration:none;

    font-family:Inter,sans-serif;
    font-size:11px;
    letter-spacing:3px;
    text-transform:uppercase;
}

.event-card a:hover{
    background:#c8a97e;
}

.event-card:hover{
    transform:translateY(-8px);
    border-color:rgba(200,169,126,.55);
    box-shadow:0 34px 80px rgba(200,169,126,.16);
}

.event-card-with-videos{
    position:relative;
    display:grid;
    height:auto;
    min-height:550px;
    overflow:hidden;
}

.event-card-featured.event-card-with-videos{
    min-height:680px;
}

.event-card-pane{
    grid-area:1 / 1;
    display:flex;
    flex-direction:column;
    min-width:0;
    min-height:0;
    transition:
        transform .5s cubic-bezier(.22,1,.36,1),
        opacity .35s ease,
        visibility 0s .5s;
}

.event-card-copy{
    transform:translateX(0);
    opacity:1;
    visibility:visible;
    transition-delay:0s;
}

.event-card-with-videos.is-videos-open .event-card-copy{
    transform:translateX(calc(-100% - 64px));
    opacity:0;
    visibility:hidden;
    transition-delay:0s,0s,.5s;
}

.event-card-with-videos.is-videos-open .event-videos-panel{
    transform:translateX(0);
    opacity:1;
    visibility:visible;
    transition-delay:0s;
}

.event-video-hint{
    position:relative;
    grid-column:1 / -1;
    min-height:68px;
    padding-right:56px;
}

.event-video-hint p{
    color:#8c806f;
    font-family:"Cormorant Garamond",serif;
    font-size:17px;
    font-style:italic;
    font-weight:500;
    line-height:1.25;
}

.event-video-arrow{
    position:absolute;
    right:7px;
    top:0;
    display:block;
    width:56px;
    height:78px;
    color:#bda17a;
    pointer-events:none;
}

.event-card-actions{
    position:relative;
    display:grid;
    grid-template-columns:minmax(0,1fr) 62px;
    gap:12px 10px;
    margin-top:auto;
    padding-top:10px;
}

.event-card-actions > a{
    grid-column:1;
    grid-row:2;
    align-self:center;
    justify-self:start;
    width:100%;
    max-width:138px;
    margin-top:0;
    padding:14px 8px;
    font-size:10px;
    letter-spacing:2.5px;
    text-align:center;
}

.event-videos{
    grid-column:2;
    grid-row:2;
    min-width:0;
}

.event-videos-toggle,
.event-videos-back{
    display:flex;
    align-items:center;
    justify-content:center;
    width:56px;
    height:56px;
    padding:4px;
    border:0;
    border-radius:8px;
    background:transparent;
    color:#111;
    cursor:pointer;
}

.event-videos-toggle{
    margin-inline:auto;
}

.event-videos-back{
    margin-right:3px;
    border-radius:50%;
    background:#d9a337;
    color:#fff;
}

.event-videos-back svg{
    display:block;
    width:32px;
    height:30px;
}

.event-videos-back:hover{
    background:#c8a97e;
}

.event-videos-actions{
    display:flex;
    justify-content:flex-end;
    margin-top:auto;
    padding-top:18px;
}

.event-video-folder{
    display:block;
    flex:0 0 52px;
    width:52px;
    height:46px;
    filter:drop-shadow(0 3px 2px rgba(151,105,24,.12));
    transition:transform .25s;
}

.event-videos-toggle:hover .event-video-folder,
.event-videos-toggle:focus-visible .event-video-folder{
    transform:translateY(-3px) rotate(-5deg);
}

@media(prefers-reduced-motion:reduce){
    .event-card-pane,
    .event-video-folder{
        transition:none;
    }

    .event-card-with-videos.is-videos-open .event-card-copy,
    .event-card-with-videos.is-videos-open .event-videos-panel{
        transition-delay:0s;
    }

    .event-videos-toggle:hover .event-video-folder,
    .event-videos-toggle:focus-visible .event-video-folder{
        transform:none;
    }
}

.event-videos-toggle:focus-visible,
.event-videos-back:focus-visible,
.event-video-links a:focus-visible{
    outline:2px solid #9b783f;
    outline-offset:4px;
}

.event-videos-panel{
    transform:translateX(calc(100% + 64px));
    opacity:0;
    visibility:hidden;
}

.event-videos-panel h4{
    color:#111;
    font-family:"Cormorant Garamond",serif;
    font-size:30px;
    line-height:1.1;
    font-weight:600;
}

.event-videos-panel p{
    margin:18px 0 24px;
    font-size:13px;
    line-height:1.7;
}

.event-video-groups{
    display:grid;
    flex:1;
    min-height:0;
    overflow:hidden;
}

.event-video-group{
    grid-area:1 / 1;
    align-self:start;
    min-width:0;
    visibility:hidden;
    pointer-events:none;
}

.event-video-group.is-current,
.event-video-group.is-leaving{
    visibility:inherit;
}

.event-video-group.is-current{
    pointer-events:auto;
}

.event-card-academic .event-videos-actions{
    display:grid;
    grid-template-columns:minmax(0,1fr) 62px;
    align-items:center;
    gap:10px;
}

.event-card-academic .event-videos-back{
    justify-self:end;
}

.event-video-pagination{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:2px;
    width:100%;
    max-width:138px;
    min-width:0;
}

.event-video-page-button{
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 32px;
    width:32px;
    height:32px;
    padding:0;
    border:0;
    border-radius:50%;
    background:#111;
    color:#fff;
    cursor:pointer;
}

.event-video-page-button:hover{
    background:#c8a97e;
}

.event-video-page-button:focus-visible{
    outline:2px solid #9b783f;
    outline-offset:3px;
}

.event-video-page-count{
    flex:0 0 28px;
    color:#555;
    font-family:Inter,sans-serif;
    font-size:12px;
    font-variant-numeric:tabular-nums;
    text-align:center;
    white-space:nowrap;
}

.event-video-group h5{
    margin-bottom:8px;
    color:#806a49;
    font-family:Inter,sans-serif;
    font-size:13px;
    font-weight:500;
    line-height:1.5;
}

.event-video-links{
    margin:0;
    list-style:none;
}

.event-video-links li{
    padding:0;
}

.event-video-links li::before{
    content:none;
}

.event-video-links li + li{
    border-top:1px solid rgba(200,169,126,.22);
}

.event-video-links a{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    min-height:44px;
    margin:0;
    padding:10px 8px;
    border-radius:6px;
    background:transparent;
    color:#333;
    font-size:12px;
    letter-spacing:0;
    text-transform:none;
}

.event-video-links a:hover{
    background:#f4ecdf;
}

.event-video-sr-only{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    overflow:hidden;
    clip-path:inset(50%);
    white-space:nowrap;
}

@media(max-width:1150px) and (min-width:901px){
    .events-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        align-items:stretch;
    }
}

/* ---------------- EXTRA SERVICES ---------------- */

.extras-section{
    --extras-title-blur:0px;
    --extras-title-opacity:.13;

    position:relative;
    min-height:145vh;
    margin:-20px auto 80px;
    padding:80px 6vw 120px;
    isolation:isolate;
}

.extras-sticky-title{
    position:sticky;
    top:50vh;
    z-index:0;

    width:100%;
    margin:0 auto;

    color:#111;
    font-family:"Lora",serif;
    font-size:clamp(4rem,10vw,11rem);
    line-height:.88;
    font-weight:700;
    font-style:italic;
    text-align:center;
    letter-spacing:.035em;

    opacity:var(--extras-title-opacity);
    filter:blur(var(--extras-title-blur));
    transform:translateY(calc(-50% + var(--extras-title-blur) * 1.35));
    pointer-events:none;
    transition:filter .12s linear, opacity .12s linear, transform .12s linear;
}

.extras-content{
    position:relative;
    z-index:2;
    max-width:1240px;
    margin:-20px auto 0;
}

.extras-heading{
    max-width:620px;
    margin:0 auto 72px;
    text-align:center;
}

.extras-heading span{
    display:block;
    margin-bottom:14px;

    color:#b89a7a;
    font-family:Inter,sans-serif;
    font-size:11px;
    letter-spacing:4px;
    text-transform:uppercase;
}

.extras-heading h2{
    font-family:"Cormorant Garamond",serif;
    font-size:clamp(3rem,5vw,5.2rem);
    line-height:.95;
    font-weight:600;
}

.extras-heading p{
    margin:24px auto 0;

    color:#666;
    font-family:Inter,sans-serif;
    font-size:15px;
    line-height:1.9;
}

.extras-grid{
    display:grid;
    grid-template-columns:repeat(8,1fr);
    gap:clamp(44px,6vw,96px);
    align-items:start;
}

.extra-card{
    --card-glow-x:50%;
    --card-glow-y:50%;
    --card-tilt-x:0deg;
    --card-tilt-y:0deg;
    --card-lift:0px;
    --card-ring-angle:0deg;

    position:relative;
    z-index:2;
    grid-column:span 3;

    min-height:230px;
    padding:14px 20px 30px;

    overflow:hidden;
    isolation:isolate;
    background:
        radial-gradient(circle at var(--card-glow-x) var(--card-glow-y),rgba(214,181,125,.22),transparent 34%),
        var(--footer-dark);
    color:white;
    border:1px solid rgba(255,255,255,.12);
    border-radius:16px;
    box-shadow:0 28px 80px rgba(0,0,0,.14);
    transform:perspective(900px) rotateX(var(--card-tilt-x)) rotateY(var(--card-tilt-y)) translate3d(0,var(--card-lift),0);
    transform-style:preserve-3d;
    transition:
        transform .45s cubic-bezier(.2,.8,.2,1),
        border-color .35s ease,
        box-shadow .35s ease,
        background .35s ease;
    will-change:transform;
}

.extra-card::before,
.extra-card::after{
    content:"";
    position:absolute;
    pointer-events:none;
}

.extra-card::before{
    inset:0;
    z-index:1;
    padding:1px;
    border-radius:inherit;
    background:conic-gradient(
        from var(--card-ring-angle),
        rgba(200,169,126,0) 0 18%,
        rgba(234,209,157,.92) 27%,
        rgba(255,255,255,.88) 31%,
        rgba(200,169,126,0) 43% 100%
    );
    opacity:.22;
    -webkit-mask:
        linear-gradient(#000 0 0) content-box,
        linear-gradient(#000 0 0);
    -webkit-mask-composite:xor;
    mask-composite:exclude;
    animation:extraCardRing 5.8s linear infinite paused;
}

.extra-card::after{
    inset:-55%;
    z-index:1;
    background:
        radial-gradient(circle at var(--card-glow-x) var(--card-glow-y),rgba(255,239,202,.42),transparent 22%),
        linear-gradient(115deg,transparent 35%,rgba(255,255,255,.16) 46%,transparent 58%);
    opacity:0;
    mix-blend-mode:screen;
    transform:translateX(-20%) rotate(8deg);
    transition:
        opacity .35s ease,
        transform .75s cubic-bezier(.22,1,.36,1);
}

.extra-card > *{
    position:relative;
    z-index:2;
}

.extra-card:hover,
.extra-card.is-lit{
    --card-lift:-12px;

    border-color:rgba(226,195,137,.58);
    box-shadow:
        0 38px 92px rgba(0,0,0,.2),
        0 0 0 1px rgba(226,195,137,.16),
        0 0 46px rgba(218,181,111,.22);
}

.extra-card:hover::before,
.extra-card.is-lit::before{
    opacity:1;
    animation-play-state:running;
}

.extra-card:hover::after,
.extra-card.is-lit::after{
    opacity:1;
    transform:translateX(0) rotate(8deg);
}

.extra-card-top{
    grid-column:3 / span 4;
}

.extra-card-wide{
    grid-column:3 / span 4;
}

.extra-card:nth-child(2){
    grid-column:1 / span 3;
}

.extra-card:nth-child(3){
    grid-column:6 / span 3;
}

.extra-card span{
    position:absolute;
    right:24px;
    bottom:20px;

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

    width:30px;
    min-width:30px;
    height:30px;

    color:#050505;
    font-family:Inter,sans-serif;
    font-size:10px;
    font-weight:700;
    letter-spacing:.04em;
    opacity:.22;
    pointer-events:none;
    transition:
        opacity .35s ease,
        transform .35s ease,
        color .35s ease;
}

.extra-card h3{
    position:relative;
    max-width:none;
    min-height:36px;
    margin:4px -6px 24px;
    padding:0 15px 0 10px;

    display:flex;
    align-items:center;
    gap:8px;

    background:#faf9f7;
    color:#050505;
    border-radius:10px;
    overflow:hidden;

    font-family:Inter,sans-serif;
    font-size:clamp(.78rem,1vw,.95rem);
    line-height:1.2;
    font-weight:600;
    transition:
        transform .35s cubic-bezier(.2,.8,.2,1),
        box-shadow .35s ease;
}

.extra-card h3::before{
    content:"";
    width:19px;
    height:19px;
    flex:0 0 auto;

    border:1.5px solid #050505;
    border-radius:50% 50% 50% 12%;
    transform:rotate(-25deg);
    transition:
        transform .35s cubic-bezier(.2,.8,.2,1),
        border-color .35s ease,
        background .35s ease,
        box-shadow .35s ease;
}

.extra-card h3::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(110deg,transparent 0 34%,rgba(200,169,126,.28) 47%,rgba(255,255,255,.58) 50%,transparent 66% 100%);
    opacity:0;
    pointer-events:none;
    transform:translateX(-120%);
}

.extra-card p{
    max-width:560px;
    margin:0 8px;

    color:rgba(255,255,255,.88);
    font-family:Inter,sans-serif;
    font-size:14px;
    line-height:1.72;
    font-weight:700;
    transition:
        color .35s ease,
        transform .35s cubic-bezier(.2,.8,.2,1),
        text-shadow .35s ease;
}

.extra-card:hover span,
.extra-card.is-lit span{
    color:rgba(226,195,137,.95);
    opacity:.68;
    transform:translateZ(42px) scale(1.08);
}

.extra-card:hover h3,
.extra-card.is-lit h3{
    box-shadow:0 16px 32px rgba(0,0,0,.18);
    transform:translateZ(34px);
}

.extra-card:hover h3::before,
.extra-card.is-lit h3::before{
    background:rgba(200,169,126,.2);
    border-color:#c8a97e;
    box-shadow:0 0 0 4px rgba(200,169,126,.11);
    transform:rotate(335deg) scale(1.08);
}

.extra-card:hover h3::after,
.extra-card.is-lit h3::after{
    opacity:1;
    animation:extraTitleSheen 1.15s ease forwards;
}

.extra-card:hover p,
.extra-card.is-lit p{
    color:rgba(255,255,255,.96);
    text-shadow:0 8px 28px rgba(226,195,137,.16);
    transform:translateZ(26px);
}

@property --card-ring-angle{
    syntax:"<angle>";
    inherits:false;
    initial-value:0deg;
}

@keyframes extraCardRing{
    to{
        --card-ring-angle:360deg;
    }
}

@keyframes extraTitleSheen{
    to{
        transform:translateX(120%);
    }
}

@media(hover:none){
    .extra-card::before{
        opacity:.4;
        animation:extraCardRing 8s linear infinite;
    }

    .extra-card::after{
        opacity:.34;
        transform:translateX(0) rotate(8deg);
    }
}

@media(prefers-reduced-motion:reduce){
    .extra-card,
    .extra-card::before,
    .extra-card::after,
    .extra-card span,
    .extra-card h3,
    .extra-card h3::before,
    .extra-card h3::after,
    .extra-card p{
        animation:none;
        transition:none;
    }

    .extra-card{
        --card-tilt-x:0deg;
        --card-tilt-y:0deg;
        --card-lift:0px;
        transform:none;
    }

    .extra-card:hover span,
    .extra-card.is-lit span,
    .extra-card:hover h3,
    .extra-card.is-lit h3,
    .extra-card:hover p,
    .extra-card.is-lit p{
        transform:none;
    }

    .extra-card:hover h3::after,
    .extra-card.is-lit h3::after{
        opacity:0;
    }
}

@media(max-width:900px){

.extras-section{
    min-height:auto;
    margin:20px auto 70px;
    padding:56px 20px 42px;
}

.extras-sticky-title{
    top:50vh;
    font-size:clamp(4rem,18vw,7rem);
    line-height:.86;
}

.extras-content{
    margin:-10px auto 0;
}

.extras-heading{
    margin-bottom:42px;
}

.extras-heading h2{
    font-size:clamp(2.8rem,13vw,4.5rem);
}

.extras-grid{
    grid-template-columns:1fr;
    gap:22px;
}

.extra-card,
.extra-card-top,
.extra-card-wide{
    grid-column:auto;
    width:100%;
    box-sizing:border-box;
    min-height:auto;
    padding:30px 24px 28px;
    margin-top:0;
    transform:none;
    transform-style:flat;
}

.extra-card:nth-child(2),
.extra-card:nth-child(3){
    grid-column:auto;
    margin-top:0;
}

.extra-card h3{
    margin:4px 0 20px;
    padding:10px 12px;
    min-height:auto;
    align-items:flex-start;
    font-size:clamp(.9rem,4vw,1.08rem);
    line-height:1.25;
    overflow:visible;
    overflow-wrap:anywhere;
}

.extra-card h3::before{
    width:17px;
    height:17px;
    margin-top:2px;
}

.extra-card p{
    margin:0;
    font-size:13px;
    line-height:1.65;
    font-weight:600;
}

.extra-card span{
    right:18px;
    bottom:16px;
}

}

/* ---------------- IMAGE SCROLL ---------------- */

.image-scroll-section{
    height:220vh;
    margin:-40px auto 0;
    position:relative;
    overflow:visible;
}

.image-scroll-sticky{
    position:sticky;
    top:90px;
    height:calc(100vh - 90px);
    overflow:hidden;

    display:flex;
    flex-direction:column;
    align-items:stretch;
    justify-content:center;
}

.image-scroll-gallery{
    flex:0 0 auto;
    display:flex;
    gap:20px;
    margin-top:clamp(44px,6vh,78px);
    padding:0 50px;
    transform:translate3d(0,0,0);
    will-change:transform;
}

.image-scroll-gallery img{
    width:600px;
    height:clamp(240px,28vh,320px);
    object-fit:cover;
    flex-shrink:0;
    display:block;
}

.quote-section.image-scroll-quote{
    flex:0 0 auto;
    margin:0;
    display:block;
}

.image-scroll-quote .quote-card{
    width:100%;
    min-height:360px;
    padding:70px 60px 62px;
}

@media(prefers-reduced-motion:reduce){
    .image-scroll-section{
        height:auto;
        margin:0;
    }

    .image-scroll-sticky{
        position:relative;
        height:auto;
        overflow-x:auto;
        padding:0;
    }

    .image-scroll-gallery{
        transform:none;
        will-change:auto;
    }
}

/* ---------------- QUOTE ---------------- */

.quote-section{

    width:100%;
    max-width:none;
    margin:0 auto 200px;

    text-align:center;
    padding:0;
}

.quote-card{
    min-height:360px;
    padding:70px 60px 62px;

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

    background:linear-gradient(135deg,#fffaf2 0%,#faf9f7 58%,#f3eadc 100%);
    border-top:1px solid rgba(200,169,126,.45);
    border-bottom:1px solid rgba(200,169,126,.45);
    border-radius:0;
    box-shadow:0 28px 80px rgba(200,169,126,.16);
}

.quote-mark{
    height:78px;
    margin-bottom:8px;

    color:#c8a97e;
    font-family:Georgia,serif;
    font-size:150px;
    line-height:.65;
    font-weight:700;
    opacity:.95;
}

.quote-card p{
    max-width:820px;

    color:#111;
    font-family:Inter,sans-serif;
    font-size:clamp(1.5rem,3vw,2.7rem);
    line-height:1.18;
    font-weight:800;
    letter-spacing:.02em;
    text-transform:uppercase;
}

.quote-card strong{
    display:block;
    margin-top:28px;

    color:#b8905c;
    font-family:"Cormorant Garamond",serif;
    font-size:clamp(1.45rem,2.5vw,2.2rem);
    font-style:italic;
    font-weight:700;
}

/* ---------------- GALLERY ---------------- */

.gallery-section{
    width:100%;
    margin:70px auto 190px;
    padding:0;
    overflow:hidden;
}

.gallery-heading{
    text-align:center;
    margin:0 auto 54px;
    padding:0 40px;
}

.gallery-heading > span{
    display:block;
    margin-bottom:14px;

    color:#b89a7a;
    font-family:Inter,sans-serif;
    font-size:11px;
    letter-spacing:4px;
    text-transform:uppercase;
}

.gallery-heading h2{
    max-width:860px;
    margin:0 auto;

    font-family:"Cormorant Garamond",serif;
    font-size:clamp(3rem,5vw,5.3rem);
    line-height:1;
    font-weight:600;
}

.gallery-drag-hint{
    width:max-content;
    max-width:100%;
    margin:22px auto 0;
    padding:10px 18px;

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

    color:#8a6d47;
    background:rgba(255,255,255,.68);
    border:1px solid rgba(200,169,126,.35);
    border-radius:999px;

    font-family:Inter,sans-serif;
    font-size:12px;
    line-height:1;
    letter-spacing:1.6px;
    font-weight:700;
    text-transform:uppercase;
}

.gallery-drag-hint span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 22px;
    width:22px;
    height:22px;
    margin:0;

    color:#b89a7a;
    border:1px solid rgba(200,169,126,.42);
    border-radius:50%;
    font-size:13px;
    line-height:1;
    box-sizing:border-box;
}

.gallery-wheel{
    position:relative;
    width:100%;
    min-height:clamp(470px,56vw,670px);
    overflow:hidden;
    cursor:grab;
    touch-action:pan-y;
    touch-action:pan-y pinch-zoom;
    overscroll-behavior-x:contain;
    user-select:none;
    -webkit-user-select:none;
    -webkit-tap-highlight-color:transparent;
}

.gallery-wheel::before,
.gallery-wheel::after{
    content:"";
    position:absolute;
    top:0;
    bottom:0;
    width:15vw;
    z-index:3;
    pointer-events:none;
}

.gallery-wheel::before{
    left:0;
    background:linear-gradient(to right,#faf9f7,rgba(250,249,247,0));
}

.gallery-wheel::after{
    right:0;
    background:linear-gradient(to left,#faf9f7,rgba(250,249,247,0));
}

.gallery-wheel.is-dragging{
    cursor:grabbing;
}

.gallery-grid{
    --gallery-x:0px;

    height:100%;
    min-height:inherit;
    display:flex;
    align-items:flex-end;
    gap:clamp(26px,4vw,70px);
    padding:34px max(7vw,30px) 76px;
    transform:translate3d(var(--gallery-x),0,0);
    transition:transform .55s cubic-bezier(.22,1,.36,1);
    will-change:transform;
}

.gallery-card{
    --card-rotate:0deg;
    --card-y:0px;
    --card-scale:1;

    position:relative;
    flex:0 0 clamp(275px,31vw,445px);
    height:clamp(390px,48vw,585px);

    overflow:hidden;
    background:#faf9f7;
    border:1px solid rgba(17,17,17,.07);
    border-radius:7px;
    box-shadow:0 24px 70px rgba(17,17,17,.15);
    transform:translateY(var(--card-y)) rotate(var(--card-rotate)) scale(var(--card-scale));
    transform-origin:center bottom;
    transition:transform .45s cubic-bezier(.22,1,.36,1), box-shadow .35s ease;
    will-change:transform;
    user-select:none;
    -webkit-user-select:none;
}

.gallery-card-wide{
    flex-basis:clamp(295px,32vw,465px);
    height:clamp(405px,50vw,610px);
}

.gallery-card img{
    width:100%;
    height:calc(100% - 105px);
    display:block;
    object-fit:cover;
    opacity:.96;
    pointer-events:none;
    user-select:none;
    -webkit-user-drag:none;
    transition:transform .8s ease, opacity .4s ease;
}

.gallery-card::after{
    content:none;
}

.gallery-card:hover img{
    transform:scale(1.04);
    opacity:1;
}

.gallery-card.is-active{
    box-shadow:0 30px 90px rgba(17,17,17,.18);
}

.gallery-card-content{
    position:relative;
    z-index:1;
    height:105px;
    padding:24px 28px 20px;

    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    background:#faf9f7;
}

.gallery-card h3{
    max-width:250px;

    color:#111;
    font-family:"Cormorant Garamond",serif;
    font-size:clamp(1.85rem,2.5vw,2.8rem);
    line-height:.9;
    font-weight:600;
    user-select:none;
    -webkit-user-select:none;
}

.gallery-card a{
    flex:0 0 auto;
    margin-top:6px;
    padding:11px 18px;

    background:transparent;
    color:#8a6d47;
    border:1px solid rgba(200,169,126,.72);
    border-radius:3px;
    text-decoration:none;

    font-family:Inter,sans-serif;
    font-size:11px;
    letter-spacing:1.5px;
    font-weight:700;
    text-transform:uppercase;
    user-select:none;
    -webkit-user-select:none;
}

.gallery-card a:hover{
    background:#c8a97e;
    color:white;
    border-color:#c8a97e;
}

.gallery-wheel.is-dragging .gallery-grid,
.gallery-wheel.is-dragging .gallery-card,
.gallery-wheel.is-gliding .gallery-grid,
.gallery-wheel.is-gliding .gallery-card{
    transition:none;
}

/* ---------------- CONTACT FORM ---------------- */

.contact-section{
    max-width:1300px;
    margin:0 auto 180px;
    padding:70px;
    position:relative;
    overflow:hidden;

    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);
    gap:70px;

    background:
    linear-gradient(90deg,rgba(250,249,247,.92),rgba(250,249,247,.84)),
    url("../photos/banner.jpg") center/cover no-repeat;
    border:1px solid rgba(200,169,126,.28);
    border-radius:24px;
    box-shadow:0 28px 80px rgba(0,0,0,.08);
}

.contact-section::before{
    content:"";
    position:absolute;
    inset:18px;
    pointer-events:none;

    border:1px solid rgba(200,169,126,.18);
}

.contact-intro,
.contact-form{
    position:relative;
    z-index:1;
}

.contact-intro{
    min-height:520px;
    padding-right:65px;

    display:flex;
    flex-direction:column;
    justify-content:space-between;

    border-right:1px solid rgba(200,169,126,.35);
}

.contact-intro h2{
    max-width:620px;

    font-family:"Cormorant Garamond",serif;
    font-size:clamp(3rem,5vw,5.4rem);
    line-height:.95;
    font-weight:600;
}

.contact-intro p{
    max-width:620px;
    margin-top:28px;

    color:#666;
    font-family:Inter,sans-serif;
    font-size:15px;
    line-height:2;
}

.response-note{
    display:inline-flex;
    align-self:flex-start;
    max-width:520px;
    padding:16px 20px;
    margin-bottom:28px;

    background:rgba(255,250,242,.82);
    border-left:3px solid #c8a97e;
    border-radius:0 14px 14px 0;
    color:#4f463c;
    box-shadow:0 18px 45px rgba(200,169,126,.12);
    backdrop-filter:blur(8px);
}

.direct-contact{
    display:flex;
    flex-direction:column;
    gap:14px;
    margin-top:14px;
    padding-top:24px;
    border-top:1px solid rgba(200,169,126,.32);
}

.direct-contact span{
    color:#b89a7a;
    font-family:Inter,sans-serif;
    font-size:11px;
    letter-spacing:3px;
    text-transform:uppercase;
}

.direct-contact a{
    color:#111;
    text-decoration:none;
    font-family:Inter,sans-serif;
    font-size:15px;
}

.direct-contact a:hover{
    color:#c8a97e;
}

.contact-form{
    position:relative;
    display:flex;
    flex-direction:column;
    gap:26px;
    padding:4px;
    border-radius:22px;
    isolation:isolate;
    transition:
        filter .45s ease,
        transform .45s cubic-bezier(.16,1,.3,1);
}

.contact-form::before,
.contact-form::after{
    content:"";
    position:absolute;
    inset:-28px;
    z-index:-1;
    pointer-events:none;
    border-radius:30px;
    opacity:0;
    transition:
        opacity .45s ease,
        transform .7s cubic-bezier(.16,1,.3,1);
}

.contact-form::before{
    content:none;
    display:none;
}

.contact-form::after{
    inset:-2px;
    border:1px solid rgba(200,169,126,.28);
    background:linear-gradient(115deg,transparent 0%,rgba(255,255,255,.42) 44%,transparent 62%);
    background-size:220% 100%;
    transform:translateY(10px);
}

.contact-form.is-visible::after{
    opacity:1;
    transform:translateY(0);
    animation:contactFrameSheen 1.8s cubic-bezier(.16,1,.3,1) .35s both;
}

.contact-form.is-sent{
    animation:contactSentPulse .75s cubic-bezier(.16,1,.3,1);
}

.form-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:24px;
}

.contact-form label{
    --field-delay:0ms;

    position:relative;
    display:flex;
    flex-direction:column;
    gap:10px;

    color:#111;
    font-family:Inter,sans-serif;
    font-size:11px;
    letter-spacing:3px;
    text-transform:uppercase;
    opacity:0;
    transform:translateY(22px);
    transition:
        color .3s ease,
        opacity .7s cubic-bezier(.16,1,.3,1) var(--field-delay),
        transform .7s cubic-bezier(.16,1,.3,1) var(--field-delay);
}

.contact-form.is-visible label{
    opacity:1;
    transform:translateY(0);
}

.contact-form label::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:1px;
    background:linear-gradient(90deg,transparent,#c8a97e,transparent);
    opacity:0;
    transform:scaleX(.18);
    transform-origin:center;
    transition:
        opacity .3s ease,
        transform .5s cubic-bezier(.16,1,.3,1);
}

.contact-form label:focus-within{
    color:#9f7f52;
}

.contact-form label:focus-within::after{
    opacity:1;
    transform:scaleX(1);
}

.contact-form input,
.contact-form textarea{
    width:100%;
    padding:14px 0;

    border:none;
    border-bottom:1px solid rgba(17,17,17,.28);
    border-radius:0;
    outline:none;
    background:transparent;

    color:#111;
    font-family:Inter,sans-serif;
    font-size:15px;
    letter-spacing:0;
    text-transform:none;
    transition:
        border-color .3s ease,
        box-shadow .3s ease,
        transform .3s ease;
}

.contact-form textarea{
    resize:vertical;
    min-height:130px;
}

.contact-form input:focus,
.contact-form textarea:focus{
    border-bottom-color:#c8a97e;
    box-shadow:0 12px 26px rgba(200,169,126,.11);
    transform:translateY(-2px);
}

.contact-form button{
    position:relative;
    overflow:hidden;
    align-self:flex-start;
    margin-top:8px;
    padding:16px 36px;

    border:none;
    border-radius:999px;
    background:#c8a97e;
    color:white;
    cursor:pointer;

    font-family:Inter,sans-serif;
    font-size:11px;
    letter-spacing:3px;
    text-transform:uppercase;
    box-shadow:0 16px 36px rgba(200,169,126,.24);
    transition:
        background .3s ease,
        box-shadow .3s ease,
        transform .3s cubic-bezier(.16,1,.3,1);
}

.contact-form button::before{
    content:none;
}

.contact-form button:hover{
    background:#111;
    transform:none;
    box-shadow:none;
}

.contact-form button span{
    position:relative;
    z-index:1;
}

@keyframes contactFrameSheen{
    from{
        background-position:160% 0;
    }

    to{
        background-position:-80% 0;
    }
}

@keyframes contactSentPulse{
    0%{
        transform:scale(1);
        filter:saturate(1);
    }

    42%{
        transform:scale(1.018);
        filter:saturate(1.18);
    }

    100%{
        transform:scale(1);
        filter:saturate(1);
    }
}

@media(prefers-reduced-motion:reduce){
    .contact-form,
    .contact-form::before,
    .contact-form::after,
    .contact-form label,
    .contact-form label::after,
    .contact-form input,
    .contact-form textarea,
    .contact-form button,
    .contact-form button::before{
        animation:none;
        transform:none;
        transition:none;
    }

    .contact-form label{
        opacity:1;
    }
}

/* ---------------- OFFER WIZARD ---------------- */

.contact-section:has(.offer-wizard){
    max-width:1500px;
    display:block;
    padding:clamp(52px,6vw,88px);
}

.contact-section:has(.offer-wizard) .contact-intro{
    position:relative;
    top:auto;
    min-height:0;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    margin:0 auto clamp(38px,5vw,68px);
    padding:0;
    border:0;
    text-align:center;
}

.contact-section:has(.offer-wizard) .contact-intro h2{
    max-width:1050px;
    margin:0;
    font-size:clamp(3rem,5vw,5.4rem);
    line-height:.95;
    font-weight:600;
    letter-spacing:-.02em;
}

.contact-eyebrow{
    display:inline-flex;
    align-items:center;
    gap:12px;
    margin-bottom:18px;
    color:#a47f4e;
    font-family:Inter,sans-serif;
    font-size:11px;
    font-weight:600;
    letter-spacing:4px;
    text-transform:uppercase;
}

.contact-eyebrow::before,
.contact-eyebrow::after{
    content:"";
    width:38px;
    height:1px;
    background:#c9af89;
}

.contact-section:has(.offer-wizard) .contact-lead{
    max-width:720px;
    margin:25px auto 0;
    color:#6d6962;
    font-size:clamp(.85rem,1vw,.96rem);
    line-height:1.8;
}

.contact-info-grid{
    width:100%;
    display:grid;
    grid-template-columns:1.2fr .9fr 1.15fr;
    gap:12px;
    margin-top:38px;
    text-align:left;
}

.contact-info-card{
    position:relative;
    min-width:0;
    min-height:118px;
    display:grid;
    grid-template-columns:38px 1fr;
    align-items:center;
    gap:17px;
    padding:22px 24px;
    overflow:hidden;
    border:1px solid rgba(177,145,100,.32);
    color:#25241f;
    background:rgba(255,253,248,.72);
    text-decoration:none;
    box-shadow:0 12px 35px rgba(76,58,34,.045);
    transition:border-color .25s,background .25s,transform .25s,box-shadow .25s;
}

.contact-info-card::after{
    content:"→";
    position:absolute;
    right:17px;
    bottom:13px;
    color:#b49365;
    font-size:14px;
    opacity:.65;
    transition:color .25s,opacity .25s,transform .35s cubic-bezier(.16,1,.3,1);
}

.contact-info-promise::after{
    content:"✦";
}

.contact-info-number{
    width:36px;
    height:36px;
    display:grid;
    place-items:center;
    border:1px solid #d3c1a8;
    border-radius:50%;
    color:#9b7646;
    font-family:"Cormorant Garamond",serif;
    font-size:14px;
    transition:border-color .25s,color .25s,background .25s,transform .35s cubic-bezier(.16,1,.3,1);
}

.contact-info-card div{
    min-width:0;
}

.contact-info-card small,
.contact-info-card strong,
.contact-info-card em{
    display:block;
    transition:color .25s;
}

.contact-info-card small{
    margin-bottom:8px;
    color:#a07e52;
    font-family:Inter,sans-serif;
    font-size:10px;
    font-weight:600;
    letter-spacing:2px;
    text-transform:uppercase;
}

.contact-info-card strong{
    overflow-wrap:anywhere;
    font-family:Inter,sans-serif;
    font-size:clamp(1rem,1.35vw,1.28rem);
    line-height:1.3;
    font-weight:500;
    letter-spacing:-.025em;
    font-variant-numeric:lining-nums tabular-nums;
    font-feature-settings:"lnum" 1,"tnum" 1;
}

.contact-info-card em{
    margin-top:7px;
    color:#8a847b;
    font-family:Inter,sans-serif;
    font-size:10px;
    font-style:normal;
}

.contact-section:has(.offer-wizard) .offer-wizard{
    width:min(100%,1160px);
    margin:0 auto;
}

.offer-wizard{
    gap:0;
    min-width:0;
    padding:clamp(25px,3.5vw,48px);
    background:rgba(255,255,255,.76);
    border:1px solid rgba(200,169,126,.2);
    border-radius:30px;
    background-clip:padding-box;
    box-shadow:0 24px 70px rgba(55,43,27,.07);
    backdrop-filter:blur(16px);
}

.offer-wizard[aria-busy="true"]{
    pointer-events:none;
}

.wizard-progress{
    margin-bottom:38px;
    padding-bottom:25px;
    border-bottom:1px solid rgba(17,17,17,.12);
}

.wizard-progress-copy{
    display:none;
    align-items:center;
    justify-content:space-between;
    margin-bottom:12px;
}

.wizard-progress-copy span,
.wizard-progress-copy strong{
    font-family:Inter,sans-serif;
    font-size:11px;
    letter-spacing:2px;
    text-transform:uppercase;
}

.wizard-progress-copy span{
    color:#8b8173;
}

.wizard-progress-copy strong{
    color:#8d6f47;
}

.wizard-progress-track{
    display:none;
    height:2px;
    overflow:hidden;
    background:#e4ddd3;
}

.wizard-progress-track span{
    width:16.666%;
    height:100%;
    display:block;
    background:#b79464;
    transition:width .45s cubic-bezier(.16,1,.3,1);
}

.wizard-progress ol{
    display:grid;
    grid-template-columns:repeat(6,1fr);
    gap:6px;
    margin:0;
    padding:0;
    list-style:none;
}

.wizard-progress li{
    position:relative;
    color:#aaa298;
    font-family:Inter,sans-serif;
    font-size:9px;
    line-height:1.3;
    letter-spacing:1.2px;
    text-transform:uppercase;
    transition:color .25s;
}

.offer-wizard .wizard-step-link{
    width:100%;
    min-height:0;
    display:grid;
    justify-items:start;
    gap:8px;
    margin:0;
    padding:0;
    overflow:visible;
    border:0;
    border-radius:0;
    color:inherit;
    background:transparent;
    box-shadow:none;
    font:inherit;
    letter-spacing:inherit;
    text-align:left;
    text-transform:uppercase;
    cursor:pointer;
}

.offer-wizard .wizard-step-link:hover,
.offer-wizard .wizard-step-link:focus-visible{
    color:#7e603b;
    background:transparent;
    box-shadow:none;
    transform:none;
}

.offer-wizard .wizard-step-link:focus-visible{
    outline:1px solid #b79464;
    outline-offset:7px;
}

.wizard-step-link b{
    font:inherit;
    font-weight:400;
}

.wizard-progress li::after{
    content:"";
    position:absolute;
    left:29px;
    right:4px;
    top:11px;
    height:1px;
    background:#ddd6cb;
}

.wizard-progress li:last-child::after{
    display:none;
}

.wizard-progress li span{
    width:24px;
    height:24px;
    display:grid;
    place-items:center;
    border:1px solid #d8d0c4;
    border-radius:50%;
    color:#92887b;
    background:#fff;
    font-size:8px;
    transition:.25s;
}

.wizard-progress li:hover span,
.wizard-progress li:focus-within span{
    border-color:#b79464;
    color:#fff;
    background:#b79464;
    transform:scale(1.08);
}

.wizard-progress li.is-current,
.wizard-progress li.is-complete{
    color:#69543a;
}

.wizard-progress li.is-current span,
.wizard-progress li.is-complete span{
    color:#fff;
    background:#b79464;
    border-color:#b79464;
}

.wizard-progress li.is-current .wizard-step-link{
    cursor:default;
}

.wizard-progress li.is-locked{
    color:#c5beb4;
}

.offer-wizard .wizard-step-link:disabled{
    color:#c5beb4;
    background:transparent;
    box-shadow:none;
    opacity:.62;
    cursor:not-allowed;
    transform:none;
}

.wizard-progress li.is-locked span,
.wizard-progress li.is-locked:hover span,
.wizard-progress li.is-locked:focus-within span{
    border-color:#e1dbd2;
    color:#bbb3a8;
    background:rgba(255,255,255,.7);
    transform:none;
}

.wizard-progress li.is-locked::after{
    background:#e8e2da;
}

.offer-step{
    animation:offerStepIn .45s cubic-bezier(.16,1,.3,1) both;
}

.offer-step[hidden],
.conditional-field[hidden],
.preference-block[hidden]{
    display:none !important;
}

@keyframes offerStepIn{
    from{opacity:0;transform:translateY(12px)}
    to{opacity:1;transform:translateY(0)}
}

.step-heading{
    display:flex;
    align-items:flex-start;
    gap:18px;
    margin-bottom:34px;
}

.step-heading > span{
    flex:0 0 43px;
    width:43px;
    height:43px;
    display:grid;
    place-items:center;
    border:1px solid #d4c5b0;
    border-radius:50%;
    color:#a17e50;
    font-family:"Cormorant Garamond",serif;
    font-size:18px;
}

.step-heading h3{
    margin:0 0 8px;
    font-family:"Cormorant Garamond",serif;
    font-size:clamp(2rem,3vw,3rem);
    line-height:.95;
    font-weight:600;
    letter-spacing:-.02em;
}

.step-heading p{
    max-width:600px;
    margin:0;
    color:#77716a;
    font-family:Inter,sans-serif;
    font-size:13px;
    line-height:1.7;
}

.offer-wizard fieldset{
    min-width:0;
    margin:0;
    padding:0;
    border:0;
}

.offer-wizard legend{
    width:100%;
    margin-bottom:14px;
    color:#5a554e;
    font-family:Inter,sans-serif;
    font-size:11px;
    font-weight:600;
    letter-spacing:2px;
    text-transform:uppercase;
}

.choice-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
}

.offer-wizard .choice-card,
.offer-wizard .check-card,
.offer-wizard .inline-choices label,
.offer-wizard .compact-options label,
.offer-wizard .package-options label,
.offer-wizard .consent-field{
    opacity:1;
    transform:none;
}

.offer-wizard .choice-card::after,
.offer-wizard .check-card::after,
.offer-wizard .inline-choices label::after,
.offer-wizard .compact-options label::after,
.offer-wizard .package-options label::after,
.offer-wizard .consent-field::after{
    display:none;
}

.choice-card{
    min-height:54px;
    align-items:center;
    justify-content:center;
    padding:12px 10px;
    border:1px solid #ddd6cc;
    color:#4d4841;
    background:rgba(255,255,255,.65);
    text-align:center;
    cursor:pointer;
    transition:border-color .2s,background .2s,color .2s,transform .2s;
}

.choice-card:hover{
    border-color:#baa17d;
    transform:translateY(-1px);
}

.choice-card:has(input:checked){
    border-color:#a9895e;
    color:#fff;
    background:#292b26;
}

.choice-card-wide{
    grid-column:span 2;
}

.offer-wizard .choice-card input,
.offer-wizard .check-card input,
.offer-wizard .inline-choices input,
.offer-wizard .compact-options input,
.offer-wizard .package-options input{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    opacity:0;
    pointer-events:none;
}

.offer-wizard .choice-card span{
    font-family:Inter,sans-serif;
    font-size:11px;
    font-weight:600;
    letter-spacing:1.5px;
    text-transform:uppercase;
}

.conditional-field{
    margin-top:24px;
    padding:20px;
    border-left:2px solid #b79464;
    background:rgba(241,234,223,.6);
}

.wizard-field-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:24px;
}

.field-full{
    grid-column:1/-1;
}

.offer-wizard .line-field{
    gap:8px;
    color:#57514a;
    font-size:11px;
    font-weight:600;
    letter-spacing:2px;
}

.offer-wizard .optional-label{
    display:inline;
    margin-left:4px;
    color:#a39b90;
    font-family:Inter,sans-serif;
    font-size:.78em;
    font-weight:400;
    letter-spacing:.3px;
    text-transform:none;
}

.offer-wizard .line-field::after{
    display:none;
}

.offer-wizard .line-field input,
.offer-wizard .line-field textarea,
.offer-wizard .line-field select{
    width:100%;
    min-height:50px;
    padding:12px 0;
    border:0;
    border-bottom:1px solid rgba(17,17,17,.26);
    border-radius:0;
    outline:0;
    color:#111;
    background:transparent;
    font-family:Inter,sans-serif;
    font-size:15px;
    letter-spacing:0;
    text-transform:none;
    transition:border-color .2s,box-shadow .2s;
}

.offer-wizard .line-field textarea{
    min-height:115px;
    resize:vertical;
}

.offer-wizard .line-field select{
    cursor:pointer;
}

.offer-wizard .line-field input:focus,
.offer-wizard .line-field textarea:focus,
.offer-wizard .line-field select:focus{
    border-bottom-color:#ad8958;
    box-shadow:0 9px 18px rgba(183,148,100,.08);
    transform:none;
}

.inline-choices{
    display:flex;
    flex-wrap:wrap;
    gap:9px;
    margin-top:28px !important;
}

.inline-choices legend{
    margin-bottom:3px;
}

.inline-choices label{
    min-height:38px;
    justify-content:center;
    padding:0 16px;
    border:1px solid #d9d2c8;
    color:#6a645c;
    background:#fff;
    font-size:10px;
    letter-spacing:1px;
    cursor:pointer;
    transition:.2s;
}

.inline-choices label:has(input:checked){
    border-color:#a8885d;
    color:#fff;
    background:#34362f;
}

.field-note{
    margin:15px 0 0;
    padding-left:16px;
    border-left:2px solid #d2b994;
    color:#807970;
    font-family:Inter,sans-serif;
    font-size:11px;
    line-height:1.7;
}

.service-group{
    margin-bottom:31px !important;
}

.check-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
}

.check-grid > legend{
    grid-column:1/-1;
}

.check-card{
    min-height:72px;
    display:grid !important;
    grid-template-columns:20px 1fr;
    align-items:center;
    padding:13px 15px;
    border:1px solid #ddd6cc;
    background:#fff;
    cursor:pointer;
    transition:.2s;
}

.check-card::before{
    content:"";
    width:17px;
    height:17px;
    border:1px solid #bdb4a7;
    border-radius:2px;
    background:#fff;
    transition:.2s;
}

.check-card:has(input:checked){
    border-color:#aa8a5f;
    background:#f5eee4;
}

.check-card:has(input:checked)::before{
    content:"✓";
    display:grid;
    place-items:center;
    border-color:#ad8958;
    color:#fff;
    background:#ad8958;
    font-size:11px;
}

.check-card span{
    display:grid;
    gap:5px;
}

.check-card b{
    color:#403c36;
    font-size:11px;
    letter-spacing:1px;
}

.check-card small{
    color:#898178;
    font-size:10px;
    font-weight:400;
    letter-spacing:0;
    line-height:1.45;
    text-transform:none;
}

.compact-check-grid{
    grid-template-columns:repeat(3,1fr);
}

.compact-check-grid .check-card{
    min-height:52px;
}

.preference-block{
    margin-bottom:27px;
    padding:24px;
    border:1px solid #e0d9cf;
    background:rgba(255,255,255,.58);
}

.preference-block h4{
    margin:0 0 22px;
    color:#9b794d;
    font-family:"Cormorant Garamond",serif;
    font-size:clamp(1.65rem,2.4vw,2rem);
    font-weight:600;
}

.preference-block .inline-choices{
    margin-top:20px !important;
}

.atmosphere-grid{
    grid-template-columns:repeat(3,1fr);
}

.priorities-group{
    margin-top:30px !important;
}

.priorities-group legend{
    display:flex;
    justify-content:space-between;
    gap:20px;
}

.priorities-group legend small{
    color:#9b794d;
    font-size:10px;
    font-weight:500;
    letter-spacing:.5px;
    text-transform:none;
}

.compact-options{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.compact-options label{
    min-height:36px;
    justify-content:center;
    padding:0 13px;
    border:1px solid #d9d2c8;
    color:#6d665e;
    background:#fff;
    font-size:10px;
    letter-spacing:.7px;
    cursor:pointer;
}

.compact-options label:has(input:checked){
    border-color:#a8885d;
    color:#fff;
    background:#34362f;
}

.compact-options label:has(input:disabled){
    opacity:.38;
    cursor:not-allowed;
}

.budget-grid{
    grid-template-columns:repeat(2,1fr);
}

.package-options{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9px;
    margin:31px 0 !important;
}

.package-options legend{
    grid-column:1/-1;
}

.package-options label{
    min-height:45px;
    justify-content:center;
    padding:10px 13px;
    border:1px solid #ddd6cc;
    color:#615b53;
    background:#fff;
    font-size:10px;
    letter-spacing:.8px;
    text-align:center;
    cursor:pointer;
}

.package-options label:has(input:checked){
    border-color:#a8885d;
    color:#fff;
    background:#34362f;
}

.package-options .package-featured{
    color:#6f5430;
    background:#f3e9db;
    border-color:#c4a77f;
    font-weight:600;
}

.contact-preference{
    margin-bottom:27px !important;
}

.form-finale{
    display:grid;
    grid-template-columns:40px 1fr;
    gap:15px;
    margin:28px 0 20px;
    padding:20px;
    border:1px solid #d9cbb8;
    background:#f5eee4;
}

.form-finale > span{
    width:36px;
    height:36px;
    display:grid;
    place-items:center;
    border:1px solid #c4a77f;
    border-radius:50%;
    color:#9c7748;
}

.form-finale .story-icon svg{
    width:21px;
    height:21px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.65;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.form-finale h4{
    margin:0 0 5px;
    font-family:"Cormorant Garamond",serif;
    font-size:24px;
}

.form-finale p{
    margin:0;
    color:#777067;
    font-family:Inter,sans-serif;
    font-size:11px;
    line-height:1.7;
}

.offer-wizard .consent-field{
    display:grid;
    grid-template-columns:19px 1fr;
    align-items:start;
    gap:11px;
    color:#5f5951;
    font-size:10px;
    line-height:1.7;
    letter-spacing:.4px;
    text-transform:none;
    cursor:pointer;
}

.offer-wizard .consent-field input{
    width:18px;
    height:18px;
    margin:1px 0 0;
    padding:0;
    accent-color:#a9895e;
    box-shadow:none;
    transform:none;
}

.wizard-actions{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    margin-top:35px;
    padding-top:22px;
    border-top:1px solid #e0d9cf;
}

.offer-wizard .wizard-button{
    min-height:47px;
    display:inline-flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    margin:0;
    padding:0 20px;
    border:1px solid #282923;
    border-radius:0;
    color:#fff;
    background:#282923;
    box-shadow:none;
    font-size:10px;
    letter-spacing:2px;
}

.offer-wizard .wizard-button:hover{
    border-color:#b79464;
    color:#fff;
    background:#9f7c4f;
    transform:translateY(-1px);
}

.offer-wizard .wizard-back{
    border-color:transparent;
    color:#777067;
    background:transparent;
}

.offer-wizard .wizard-back:hover{
    border-color:#ddd3c5;
    color:#302d29;
    background:#f5f0e8;
}

.offer-wizard .wizard-submit{
    min-width:285px;
    background:#9f7c4f;
    border-color:#9f7c4f;
}

.step-error{
    min-height:17px;
    margin:12px 0 0;
    color:#a2443a;
    font-family:Inter,sans-serif;
    font-size:10px;
}

.offer-wizard .form-status{
    min-height:20px;
    margin:17px 0 0;
    text-align:right;
}

@media(max-width:1100px){
    .contact-section:has(.offer-wizard){
        grid-template-columns:1fr;
    }

    .contact-section:has(.offer-wizard) .contact-intro{
        position:relative;
        top:auto;
        min-height:auto;
    }

    .contact-info-grid{
        grid-template-columns:1fr 1fr;
    }

    .contact-info-promise{
        grid-column:1/-1;
    }
}

@media(max-width:700px){
    .contact-section:has(.offer-wizard){
        padding:42px 18px;
    }

    .contact-section:has(.offer-wizard) .contact-intro h2{
        font-size:clamp(3rem,15vw,4.4rem);
    }

    .contact-section:has(.offer-wizard) .contact-lead{
        font-size:12px;
    }

    .contact-info-grid{
        grid-template-columns:1fr;
        margin-top:29px;
    }

    .contact-info-promise{
        grid-column:auto;
    }

    .contact-info-card{
        min-height:100px;
    }

    .offer-wizard{
        padding:24px 17px;
    }

    .wizard-progress ol{
        display:none;
    }

    .wizard-progress-copy{
        display:flex;
    }

    .wizard-progress-track{
        display:block;
    }

    .step-heading > span{
        display:none;
    }

    .choice-grid,
    .atmosphere-grid,
    .budget-grid,
    .package-options,
    .check-grid,
    .compact-check-grid,
    .wizard-field-grid{
        grid-template-columns:1fr;
    }

    .choice-card-wide,
    .field-full,
    .package-options legend{
        grid-column:auto;
    }

    .check-card{
        min-height:62px;
    }

    .preference-block{
        padding:19px 15px;
    }

    .inline-choices label{
        flex:1 1 auto;
    }

    .wizard-actions{
        align-items:stretch;
    }

    .offer-wizard .wizard-button{
        min-width:0;
        padding:0 15px;
    }

    .offer-wizard .wizard-submit{
        flex:1;
    }
}

/* ---------------- MAP ---------------- */

.map-section{
    position:relative;
    z-index:4;
    width:100%;
    height:clamp(360px,38vw,520px);
    overflow:hidden;
    background:#e8e1d8;
    box-shadow:0 18px 42px rgba(17,17,17,.18);
}

.map-section iframe{
    width:100%;
    height:100%;
    display:block;
    border:0;
    filter:saturate(.9) contrast(.95);
}

.map-address{
    position:absolute;
    top:8px;
    left:8px;
    z-index:2;
    width:252px;
    max-width:calc(100% - 16px);
    padding:12px;
    background:#fff;
    color:#202124;
    border-radius:2px;
    box-shadow:0 1px 4px rgba(0,0,0,.3);
    font:14px/20px Arial,sans-serif;
}

.map-address strong{
    display:block;
    font-size:14px;
    font-weight:500;
}

.map-address p{
    margin:2px 0 10px;
    color:#70757a;
    font:12px/16px Arial,sans-serif;
}

.map-address-actions{
    display:flex;
    align-items:center;
    gap:8px;
}

.map-address-actions a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
    height:32px;
    border-radius:18px;
    text-decoration:none;
}

.map-address-open{
    gap:5px;
    padding:0 14px;
    background:#1a73e8;
    color:#fff;
    font:14px/1 Arial,sans-serif;
}

.map-address-open:hover{
    background:#1765cc;
}

.map-address-open svg{
    width:16px;
    height:16px;
    fill:currentColor;
}

.map-address-route{
    width:32px;
    background:#f1f3f4;
    color:#1a73e8;
}

.map-address-route:hover{
    background:#e8eaed;
}

.map-address-route svg{
    width:22px;
    height:22px;
    fill:currentColor;
}

.map-address-actions a:focus-visible{
    outline:2px solid #1a73e8;
    outline-offset:3px;
}
.map-directions{
    position:absolute;
    left:32px;
    bottom:32px;
    z-index:2;

    display:inline-flex;
    align-items:center;
    gap:14px;
    min-height:56px;
    padding:0 26px;

    background:#c8a97e;
    color:white;
    border-radius:14px;
    text-decoration:none;
    box-shadow:0 18px 45px rgba(17,17,17,.18);

    font-family:Inter,sans-serif;
    font-size:12px;
    font-weight:700;
    letter-spacing:.4px;
}

.map-directions span{
    font-size:22px;
    line-height:1;
}

.map-directions:hover{
    background:#111;
}

.map-directions:active{
    background:#111;
}

/* ---------------- PARTNERS ---------------- */

.partners-section{
    position:relative;
    z-index:4;
    width:100%;
    height:clamp(118px,8.8vw,168px);
    overflow:hidden;

    display:flex;
    align-items:center;

    background:transparent;
}

.partners-marquee{
    width:100%;
    overflow:hidden;
}

.partners-track{
    display:flex;
    width:max-content;
    animation:partnersMarquee 30s linear infinite;
    will-change:transform;
}

.partners-group{
    display:flex;
    align-items:center;
    flex:0 0 auto;
    gap:clamp(52px,5.8vw,118px);
    padding-right:clamp(52px,5.8vw,118px);
}

.partner-logo{
    flex:0 0 auto;
    width:clamp(150px,12.5vw,240px);
    height:clamp(54px,4.6vw,82px);

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

.partner-logo img{
    width:100%;
    height:100%;
    display:block;
    object-fit:contain;
    mix-blend-mode:multiply;
    filter:grayscale(1) contrast(1.35);
    opacity:.96;
}

@keyframes partnersMarquee{
    from{
        transform:translate3d(0,0,0);
    }

    to{
        transform:translate3d(-50%,0,0);
    }
}

@media(max-width:900px){
    .partners-section{
        height:104px;
    }

    .partners-track{
        animation-duration:22s;
    }

    .partners-group{
        gap:48px;
        padding-right:48px;
    }

    .partner-logo{
        width:178px;
        height:58px;
    }
}

@media(prefers-reduced-motion:reduce){
    .partners-track{
        animation:none;
        transform:translate3d(0,0,0);
    }
}
/* ---------------- MOBILE ---------------- */

@media(max-width:900px){

.nav-links{
    display:none;
}

.navbar{
    height:76px;
    grid-template-columns:1fr auto;
    padding:0 22px;
}

.nav-logo{
    width:min(52vw,185px);
    height:54px;
    justify-self:start;
}

.nav-toggle{
    width:44px;
    height:44px;
    justify-self:end;

    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:7px;

    border:1px solid rgba(200,169,126,.35);
    border-radius:50%;
    background:white;
    cursor:pointer;
}

.nav-toggle span{
    width:18px;
    height:1px;
    display:block;
    background:#111;
    transition:.25s;
}

.navbar.is-open .nav-toggle span:first-child{
    transform:translateY(4px) rotate(45deg);
}

.navbar.is-open .nav-toggle span:last-child{
    transform:translateY(-4px) rotate(-45deg);
}

.mobile-menu{
    position:absolute;
    top:76px;
    left:0;
    right:0;

    display:flex;
    flex-direction:column;
    gap:4px;
    padding:20px 22px 24px;

    background:#fff;
    border-bottom:1px solid rgba(200,169,126,.2);
    box-shadow:0 24px 55px rgba(0,0,0,.08);
    backdrop-filter:none;

    opacity:0;
    visibility:hidden;
    transform:translateY(-10px);
    pointer-events:none;
    transition:.25s;
}

.navbar.is-open .mobile-menu{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
    pointer-events:auto;
}

.mobile-menu a{
    padding:14px 0;
    border-bottom:1px solid rgba(200,169,126,.16);

    color:#111;
    text-decoration:none;
    font-family:Inter,sans-serif;
    font-size:12px;
    letter-spacing:3px;
    text-transform:uppercase;
}

.page-scroll-track{
    opacity:.45;
}

.stats-bar{
    flex-direction:column;
    gap:50px;
}

.gold-line{
    width:90px;
    height:1px;
    margin:0;
    background:linear-gradient(to right,transparent,#c8a97e,transparent);
}

.about-sketch{
    grid-template-columns:1fr;
    gap:70px;
}

.center-wrap{
    padding:80px 25px;
}

.about-left{
    gap:42px;
}

.about-copy{
    padding-left:0;
    border-left:none;
}

.offer-preview{
    margin-top:0;
}

.about-photo-offer{
    min-height:auto;
}

.main-events{
    margin-top:100px;
}

.section-heading{
    margin-bottom:50px;
}

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

.event-card,
.event-card-featured,
.event-card-with-videos,
.event-card-featured.event-card-with-videos{
    height:auto;
    min-height:auto;
    padding:36px 28px 30px;
}

.image-scroll-section{
    height:220vh;
    margin:-20px auto 0;
}

.image-scroll-sticky{
    top:76px;
    height:calc(100vh - 76px);
    min-height:0;
}

.image-scroll-gallery{
    gap:18px;
    margin-top:18px;
    padding:0 24px;
}

.image-scroll-gallery img{
    width:min(78vw,340px);
    height:clamp(210px,32vh,280px);
    min-height:210px;
}

.image-scroll-quote .quote-card{
    min-height:300px;
    padding:52px 24px 46px;
}

.quote-section{
    margin:0 auto 140px;
    padding:0;
}

.quote-card{
    min-height:300px;
    padding:52px 24px 46px;
}

.quote-mark{
    font-size:110px;
}

.quote-card p{
    font-size:clamp(1.15rem,6vw,1.65rem);
}

.gallery-section{
    margin:20px auto 120px;
}

.gallery-heading{
    margin-bottom:44px;
    padding:0 22px;
}

.gallery-drag-hint{
    margin-top:18px;
    padding:9px 14px;
    gap:9px;
    font-size:10px;
    letter-spacing:1.2px;
}

.gallery-drag-hint span{
    flex-basis:20px;
    width:20px;
    height:20px;
    font-size:12px;
    line-height:20px;
}

.gallery-wheel{
    min-height:560px;
}

.gallery-grid{
    gap:24px;
    padding:24px 28px 58px;
}

.gallery-card,
.gallery-card-wide{
    flex-basis:min(78vw,340px);
    height:500px;
}

.gallery-card-content{
    height:138px;
    padding:22px 18px 20px;
    gap:12px;
}

.gallery-card img{
    height:calc(100% - 138px);
}

.gallery-card h3{
    max-width:calc(100% - 82px);
    font-size:clamp(1.55rem,8vw,1.9rem);
    line-height:.96;
}

.gallery-card a{
    flex:0 0 auto;
    margin-top:4px;
    padding:10px 13px;
    font-size:9px;
    letter-spacing:1px;
}

.contact-section{
    margin:0 20px 120px;
    padding:42px 24px;
    grid-template-columns:1fr;
    gap:44px;
}

.contact-intro{
    min-height:auto;
    padding-right:0;
    padding-bottom:42px;
    border-right:none;
    border-bottom:1px solid rgba(200,169,126,.35);
}

.direct-contact{
    margin-top:52px;
}

.contact-form{
    padding:30px 4px 4px;
}

.form-row{
    grid-template-columns:1fr;
}

.contact-form button{
    width:100%;
}

.map-section{
    height:340px;
}

.map-directions{
    left:18px;
    bottom:18px;
    min-height:50px;
    padding:0 20px;
    border-radius:12px;
}

.cookie-widget{
    left:16px;
    bottom:16px;
}

.cookie-toggle{
    width:56px;
    height:56px;
}

.cookie-panel{
    bottom:68px;
    grid-template-columns:32px 1fr;
}

.cookie-actions{
    grid-column:2;
    justify-content:flex-start;
    flex-wrap:wrap;
    gap:10px;
}

.cookie-actions button{
    min-height:38px;
    padding:0 16px;
    font-size:12px;
}

.cookie-settings{
    grid-column:1;
    grid-row:2;
    width:34px;
    height:34px;
}

.cookie-panel p{
    grid-column:1 / -1;
}

.scroll-indicator{
    left:18px;
    height:145px;
}

.scroll-indicator span{
    font-size:9px;
    left:13px;
}

.hero-contacts{
    right:16px;
    gap:10px;
}

.hero-contacts a{
    width:38px;
    height:38px;
    font-size:9px;
}

.hero-content h1{
    font-size:clamp(1.55rem,8vw,2.8rem);
}

}

/* ---------------- POLICY PAGE ---------------- */

.policy-page .page-scroll-track{
    display:none;
}

.policy-hero{
    min-height:54vh;
    padding:clamp(110px,13vw,190px) clamp(24px,6vw,96px) clamp(64px,8vw,110px);

    display:flex;
    align-items:flex-end;

    background:
    linear-gradient(90deg,rgba(250,249,247,.94),rgba(250,249,247,.72)),
    url("../photos/banner.jpg") center/cover no-repeat;
    border-bottom:1px solid rgba(200,169,126,.28);
}

.policy-hero-inner{
    width:min(100%,1180px);
    margin:0 auto;
}

.policy-hero span{
    display:block;
    margin-bottom:16px;

    color:#b89a7a;
    font-family:Inter,sans-serif;
    font-size:11px;
    letter-spacing:4px;
    text-transform:uppercase;
}

.policy-hero h1{
    max-width:900px;
    margin:0;

    font-family:"Cormorant Garamond",serif;
    font-size:clamp(3.5rem,8vw,8.4rem);
    line-height:.88;
    font-weight:600;
}

.policy-hero h1::after{
    margin:34px 0 0;
}

.policy-hero p{
    max-width:700px;
    margin:28px 0 0;

    color:#555;
    font-family:Inter,sans-serif;
    font-size:clamp(1rem,1.2vw,1.12rem);
    line-height:1.9;
}

.policy-meta{
    width:max-content;
    max-width:100%;
    margin-top:28px;
    padding:12px 16px;

    color:#6f5c43;
    background:rgba(255,250,242,.78);
    border-left:3px solid #c8a97e;
    font-family:Inter,sans-serif;
    font-size:12px;
    font-weight:700;
}

.policy-content{
    width:min(1180px,calc(100% - 48px));
    margin:0 auto;
    padding:clamp(58px,7vw,104px) 0 clamp(80px,9vw,130px);

    display:grid;
    grid-template-columns:minmax(180px,260px) minmax(0,1fr);
    gap:clamp(38px,6vw,96px);
    align-items:start;
}

.policy-aside{
    position:sticky;
    top:116px;

    display:flex;
    flex-direction:column;
    gap:12px;
    padding-top:6px;

    font-family:Inter,sans-serif;
}

.policy-aside a{
    color:#8a6d47;
    text-decoration:none;
    font-size:12px;
    line-height:1.2;
    font-weight:800;
    letter-spacing:2px;
    text-transform:uppercase;
    transition:color .25s ease, transform .25s ease;
}

.policy-aside a:hover{
    color:#111;
    transform:translateX(4px);
}

.policy-copy{
    display:flex;
    flex-direction:column;
    gap:54px;
}

.policy-copy section{
    padding-bottom:52px;
    border-bottom:1px solid rgba(200,169,126,.24);
}

.policy-copy section:last-child{
    border-bottom:none;
    padding-bottom:0;
}

.policy-copy h2{
    max-width:760px;
    margin:0 0 18px;

    font-family:"Cormorant Garamond",serif;
    font-size:clamp(2rem,3.2vw,3.25rem);
    line-height:1;
    font-weight:600;
}

.policy-copy p,
.policy-copy li{
    color:#555;
    font-family:Inter,sans-serif;
    font-size:15px;
    line-height:1.9;
}

.policy-copy p + p,
.policy-copy ul + p{
    margin-top:18px;
}

.policy-copy a{
    color:#8a6d47;
    font-weight:700;
    text-decoration:none;
}

.policy-copy a:hover{
    color:#111;
}

.policy-copy ul{
    display:grid;
    gap:10px;
    margin:18px 0 0;
    padding-left:20px;
}

.policy-note{
    padding:18px 22px;
    background:rgba(255,250,242,.72);
    border-left:3px solid #c8a97e;
}

@media(max-width:900px){
    .policy-hero{
        min-height:auto;
        padding:106px 22px 58px;
    }

    .policy-content{
        width:calc(100% - 40px);
        grid-template-columns:1fr;
        gap:36px;
        padding-top:50px;
    }

    .policy-aside{
        position:relative;
        top:auto;
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:12px 18px;
        padding-bottom:30px;
        border-bottom:1px solid rgba(200,169,126,.24);
    }

    .policy-copy{
        gap:42px;
    }

    .policy-copy section{
        padding-bottom:42px;
    }
}
footer.site-footer{
    position:relative;
    min-height:650px;
    padding:52px clamp(24px,5vw,92px) 0;
    z-index:1;

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

    overflow:hidden;
    background:var(--footer-dark) center no-repeat fixed;
    background-size:cover;
    color:#f4f0e5;
    isolation:isolate;
}

.footer-main{
    position:relative;
    z-index:2;
    width:100%;
    max-width:1780px;
    margin:0 auto clamp(44px,5vw,78px);

    display:grid;
    grid-template-columns:minmax(330px,.9fr) minmax(560px,1.55fr);
    gap:clamp(46px,8vw,140px);
    align-items:start;

    opacity:1;
    transform:translateY(0);
    transition:
        opacity .65s ease .18s,
        transform .9s cubic-bezier(.16,1,.3,1) .18s;
}

.site-footer.is-ready .footer-main{
    opacity:0;
    transform:translateY(34px);
}

.site-footer.is-ready.is-visible .footer-main{
    opacity:1;
    transform:translateY(0);
}

.footer-newsletter h2{
    max-width:620px;
    margin:0 0 18px;

    color:#f4f0e5;
    font-family:Inter,sans-serif;
    font-size:clamp(3.3rem,5.8vw,6.6rem);
    line-height:.95;
    font-weight:900;
    letter-spacing:-.06em;
}

.footer-newsletter p{
    max-width:540px;
    margin:0 0 22px;

    color:rgba(244,240,229,.78);
    font-family:Inter,sans-serif;
    font-size:15px;
    line-height:1.7;
}

.footer-news-link{
    position:relative;
    width:min(560px,100%);

    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
}

.footer-news-link a{
    min-height:62px;
    width:100%;
    padding:0 22px;

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

    border-radius:999px;
    text-decoration:none;

    font-family:Inter,sans-serif;
    font-size:14px;
    font-weight:800;
    text-align:center;
    transition:
        background .25s ease,
        border-color .25s ease,
        color .25s ease,
        transform .25s ease;
}

.footer-news-primary{
    border:1px solid #c8a97e;
    background:#c8a97e;
    color:white;
}

.footer-news-secondary{
    border:1px solid rgba(244,240,229,.22);
    background:#f4f0e5;
    color:#111;
}

.footer-news-link a:hover{
    background:#111;
    border-color:#111;
    color:white;
    transform:translateY(-2px);
}

.footer-columns{
    display:grid;
    grid-template-columns:repeat(4,minmax(120px,1fr));
    gap:clamp(24px,4vw,70px);
    padding-top:5px;
}

.footer-column{
    display:flex;
    flex-direction:column;
    gap:13px;

    font-family:Inter,sans-serif;
}

.footer-column h3{
    margin:0 0 7px;

    color:rgba(244,240,229,.5);
    font-size:14px;
    line-height:1;
    font-weight:800;
    text-transform:lowercase;
}

.footer-column a{
    color:#f4f0e5;
    text-decoration:none;

    font-size:15px;
    line-height:1.25;
    font-weight:700;
    text-transform:lowercase;
    transition:
        color .25s ease,
        transform .25s ease;
}

.footer-column a:hover{
    color:#c8a97e;
    transform:translateX(4px);
}

.site-footer::before{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    z-index:1;

    height:74px;
    background:#f4f0e5;
}

.footer-brand{
    position:relative;
    z-index:2;
    margin:0 auto -20px;
    width:min(calc(100% - clamp(20px,3vw,52px)),1680px);

    display:flex;
    align-items:flex-end;
    justify-content:center;
    gap:.18em;
    overflow:visible;
    perspective:900px;
    color:#f4f0e5;
    font-family:Inter,sans-serif;
    font-size:clamp(5rem,8.8vw,11rem);
    line-height:.9;
    font-weight:950;
    letter-spacing:-.08em;
    text-transform:uppercase;
    text-align:center;
    white-space:nowrap;
    transform:scaleX(.96);
    transform-origin:center bottom;
    user-select:none;
    -webkit-user-select:none;
}

.footer-brand-word{
    display:inline-flex;
    align-items:flex-end;
}

.footer-brand-letter{
    display:block;
    transform:translateY(0) rotateX(0deg) scaleY(1);
    transform-origin:center bottom;
    opacity:1;
    transition:
        opacity .4s ease var(--letter-out-delay,var(--letter-delay)),
        transform 1.05s cubic-bezier(.16,1,.3,1) var(--letter-out-delay,var(--letter-delay));
}

.site-footer.is-ready .footer-brand-letter{
    opacity:.04;
    transform:translateY(112%) rotateX(48deg) scaleY(.88);
}

.site-footer.is-ready.is-visible .footer-brand-letter{
    opacity:1;
    transform:translateY(0) rotateX(0deg) scaleY(1);
    transition-delay:var(--letter-delay);
}

.footer-bottom{
    position:relative;
    z-index:3;
    min-height:74px;

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

    color:#111;
    font-family:Inter,sans-serif;
    font-size:12px;
    line-height:1.4;
}

.footer-legal{
    display:flex;
    align-items:center;
    gap:34px;
    flex-wrap:wrap;
}

.footer-legal a,
.footer-bottom p{
    color:#111;
    text-decoration:none;
}

.footer-legal a{
    transition:color .25s ease;
}

.footer-legal a:hover{
    color:#8a6d47;
}

.footer-bottom p{
    margin:0;
    flex:0 0 auto;
}

.footer-credit{
    display:flex;
    align-items:center;
    gap:7px;
}

.footer-credit-name{
    color:#111;
    font-family:Inter,sans-serif;
    font-size:1.08em;
    font-weight:500;
    letter-spacing:.08em;
    text-decoration:none;
    text-transform:uppercase;
    transition:color .25s ease;
}

.footer-credit-name:hover{
    color:#8a6d47;
}

.footer-social-link{
    width:21px;
    height:21px;

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

    color:#fff;
    background:#3f3f3f;
    border:0;
    border-radius:2px;
    text-decoration:none;
    transition:
        background .25s ease,
        transform .25s ease;
}

.footer-social-link svg{
    width:17px;
    height:17px;
    display:block;
    fill:currentColor;
}

.footer-social-link:hover{
    background:#111;
    transform:translateY(-1px);
}

@media(max-width:1400px){
    .footer-brand{
        margin-bottom:-16px;
    }
}

@media(max-width:900px){
    footer.site-footer{
        min-height:720px;
        padding:48px 22px 0;
        background-attachment:scroll;
    }

    .site-footer::before{
        height:116px;
    }

    .footer-main{
        grid-template-columns:1fr;
        gap:34px;
        margin-bottom:52px;
    }

    .footer-newsletter h2{
        font-size:clamp(3rem,14vw,5.2rem);
    }

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

    .footer-news-link a{
        width:100%;
    }

    .footer-columns{
        grid-template-columns:1fr 1fr;
        gap:28px 24px;
    }

    .footer-brand{
        margin-bottom:-10px;
        width:100%;
        max-width:100%;
        font-size:clamp(3.25rem,13.5vw,6.4rem);
        line-height:.9;
        letter-spacing:-.07em;
        white-space:normal;
        flex-wrap:wrap;
        row-gap:.06em;
        transform:scaleX(.98);
        text-shadow:none;
    }

    .footer-bottom{
        min-height:116px;
        flex-direction:column;
        align-items:center;
        justify-content:center;
        gap:12px;
        width:100%;
        text-align:center;
        font-size:11px;
    }

    .footer-legal{
        gap:12px 20px;
        width:100%;
        justify-content:center;
    }

    .footer-credit{
        width:100%;
        justify-content:center;
        flex-wrap:wrap;
    }
}

@media(prefers-reduced-motion:reduce){
    .footer-main,
    .footer-brand-letter{
        opacity:1;
        transform:none;
        transition:none;
    }

}

/* ---------------- FOLLOW CURSOR ---------------- */

@media (pointer:fine){

body.has-custom-cursor,
body.has-custom-cursor *{
    cursor:none !important;
}

.cursor-follow{
    position:fixed;
    left:-80px;
    top:-80px;
    z-index:5000;

    width:18px;
    height:18px;

    pointer-events:none;
    opacity:0;
    transform:translate(-50%,-50%);
    transition:
    width .24s ease,
    height .24s ease,
    opacity .2s ease,
    transform .18s ease;
}

.cursor-follow.is-visible{
    opacity:1;
}

.cursor-follow.is-pressed{
    transform:translate(-50%,-50%) scale(.92);
}

.cursor-follow__trail,
.cursor-follow__orb{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
}

.cursor-follow__trail{
    display:none;
}

.cursor-follow__orb{
    left:50%;

    width:18px;
    height:18px;

    border-radius:50%;
    background:rgba(200,169,126,.82);
    box-shadow:0 10px 24px rgba(0,0,0,.16);
    transform:translate(-50%,-50%);
    transition:.24s ease;
}

.cursor-follow__arrow{
    position:absolute;
    left:50%;
    top:50%;

    width:30px;
    height:30px;

    opacity:0;
    transform:translate(-58%,-50%) scale(.72);
    transition:.2s ease;
}

.cursor-follow__arrow::before,
.cursor-follow__arrow::after{
    content:"";
    position:absolute;
    top:50%;
    background:#fff;
}

.cursor-follow__arrow::before{
    left:1px;
    width:29px;
    height:4px;
    border-radius:999px;
    transform:translateY(-50%);
}

.cursor-follow__arrow::after{
    right:1px;
    width:17px;
    height:17px;
    border-top:4px solid #fff;
    border-right:4px solid #fff;
    background:transparent;
    transform:translateY(-50%) rotate(45deg);
}

.cursor-follow.is-link{
    width:76px;
    height:76px;
    transform:translate(-50%,-50%);
}

.cursor-follow.is-link.is-pressed{
    transform:translate(-50%,-50%) scale(.95);
}

.cursor-follow.is-link .cursor-follow__orb{
    left:50%;
    right:auto;
    width:76px;
    height:76px;
    background:rgba(200,169,126,.9);
    backdrop-filter:blur(10px);
}

.cursor-follow.is-link .cursor-follow__arrow{
    opacity:1;
    transform:translate(-58%,-50%) scale(1);
}

.cursor-follow.is-form-control{
    width:26px;
    height:26px;
}

.cursor-follow.is-form-control .cursor-follow__orb{
    width:24px;
    height:24px;
    background:rgba(200,169,126,.96);
    border:1px solid rgba(255,255,255,.72);
    box-shadow:
        0 0 0 5px rgba(200,169,126,.14),
        0 8px 22px rgba(95,69,36,.24);
}

.cursor-follow.is-form-control .cursor-follow__arrow{
    opacity:0;
    transform:translate(-58%,-50%) scale(.7);
}

}

/* ---------------- COOKIES ---------------- */

.form-honeypot{
    position:absolute !important;
    left:-9999px !important;
    width:1px !important;
    height:1px !important;
    overflow:hidden !important;
}

.form-status{
    min-height:22px;
    margin:4px 0 0;
    font-family:Inter,sans-serif;
    font-size:12px;
    line-height:1.5;
}

.form-status.is-success{
    color:#506c4e;
}

.form-status.is-error{
    color:#a2443a;
}

.contact-form button[type="submit"]:disabled{
    opacity:.7;
    cursor:wait;
}

.cookie-widget{
    position:fixed;
    left:24px;
    bottom:24px;
    z-index:3000;
}

.cookie-widget.is-hidden{
    display:none;
}

.cookie-toggle{
    width:64px;
    height:64px;

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

    border:none;
    border-radius:50%;
    background:#000;
    cursor:pointer;
    box-shadow:0 18px 45px rgba(0,0,0,.22);
}

.cookie-symbol{
    width:30px;
    height:30px;
    display:block;

    border-radius:50%;
    background:
    radial-gradient(circle at 34% 32%,#000 0 3px,transparent 3.5px),
    radial-gradient(circle at 62% 30%,#000 0 2px,transparent 2.5px),
    radial-gradient(circle at 48% 58%,#000 0 2.5px,transparent 3px),
    radial-gradient(circle at 72% 68%,#000 0 2px,transparent 2.5px),
    radial-gradient(circle at 26% 70%,#000 0 2px,transparent 2.5px),
    #fff;
}

.cookie-panel{
    position:absolute;
    left:0;
    bottom:78px;

    width:min(410px,calc(100vw - 32px));
    padding:16px 18px 18px;

    display:grid;
    grid-template-columns:42px 1fr 42px;
    gap:14px;
    align-items:center;

    background:#050505;
    border:1px solid rgba(255,255,255,.28);
    border-radius:16px;
    box-shadow:0 20px 55px rgba(0,0,0,.34);

    opacity:0;
    visibility:hidden;
    transform:translateY(18px);
    pointer-events:none;
    transition:.25s;
}

.cookie-widget.is-open .cookie-panel{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
    pointer-events:auto;
}

.cookie-symbol-small{
    width:28px;
    height:28px;
}

.cookie-actions{
    display:flex;
    justify-content:center;
    gap:14px;
}

.cookie-actions button{
    min-height:42px;
    padding:0 20px;

    border:none;
    border-radius:22px;
    background:white;
    color:#000;
    cursor:pointer;

    font-family:Inter,sans-serif;
    font-size:13px;
    font-weight:700;
}

.cookie-actions button:hover{
    background:#c8a97e;
    color:white;
}

.cookie-settings{
    width:42px;
    height:42px;

    position:relative;
    border:2px solid white;
    border-radius:50%;
    background:white;
    cursor:pointer;
}

.cookie-settings::before,
.cookie-settings::after{
    content:"";
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
}

.cookie-settings::before{
    width:16px;
    height:16px;
    border:2px solid #111;
    border-radius:50%;
}

.cookie-settings::after{
    width:4px;
    height:4px;
    background:#111;
    border-radius:50%;
    box-shadow:0 -11px 0 #111,0 11px 0 #111,11px 0 0 #111,-11px 0 0 #111;
}

.cookie-panel p{
    grid-column:1 / -1;
    margin:0;

    color:white;
    font-family:Inter,sans-serif;
    font-size:11px;
    line-height:1.35;
    font-weight:600;
}

.cookie-panel a{
    color:white;
    text-decoration:underline;
}

@media(max-width:900px){

.cookie-widget{
    left:16px;
    bottom:16px;
}

.cookie-toggle{
    width:56px;
    height:56px;
}

.cookie-panel{
    bottom:68px;
    grid-template-columns:32px 1fr;
}

.cookie-actions{
    grid-column:2;
    justify-content:flex-start;
    flex-wrap:wrap;
    gap:10px;
}

.cookie-actions button{
    min-height:38px;
    padding:0 16px;
    font-size:12px;
}

.cookie-settings{
    grid-column:1;
    grid-row:2;
    width:34px;
    height:34px;
}

.cookie-panel p{
    grid-column:1 / -1;
}

}

