:root{--rv-ink:#241d19;--rv-paper:#f8f3ec;--rv-cream:#eee2d5;--rv-gold:#a47d43;--rv-muted:#74685f;--rv-line:rgba(36,29,25,.14)}
::selection{background:#241d19;color:#f8f3ec}
body{overflow-x:hidden}
.top{letter-spacing:.24em!important}
.nav{transition:box-shadow .25s ease}
.nav.is-scrolled{box-shadow:0 8px 28px rgba(36,29,25,.07)}
.links a,.actions a{position:relative;transition:opacity .2s ease}.links a:after{content:"";position:absolute;left:0;bottom:-7px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .25s ease}.links a:hover:after{transform:scaleX(1);transform-origin:left}.links a:hover,.actions a:hover{opacity:.65}
.menu-toggle{display:none;border:0;background:transparent;color:inherit;width:42px;height:42px;align-items:center;justify-content:center;cursor:pointer;font-size:22px}
.mobile-menu{position:fixed;inset:0;background:rgba(248,243,236,.98);backdrop-filter:blur(16px);z-index:100;display:none;padding:100px 8vw 40px;overflow:auto}.mobile-menu.open{display:block}.mobile-menu .close{position:absolute;top:18px;right:6vw;border:0;background:none;font-size:28px;cursor:pointer}.mobile-menu a{display:block;font:400 40px/1.2 "Cormorant Garamond";padding:14px 0;border-bottom:1px solid var(--rv-line)}.mobile-menu .small{font:9px "DM Sans";letter-spacing:.2em;text-transform:uppercase;color:var(--rv-muted);border:0;padding-top:28px}
.hero .gallery{box-shadow:0 20px 60px rgba(36,29,25,.08)}
.hero .gallery:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.02),transparent 35%,rgba(0,0,0,.05))}
.cta{transition:gap .25s ease,opacity .2s ease}.cta:hover{gap:34px!important;opacity:.65}
.collection .card,.cards .card{position:relative;display:block;overflow:hidden}.collection .card img,.cards .card img{transition:transform .6s cubic-bezier(.2,.7,.2,1),opacity .35s ease}.collection .card:hover img,.cards .card:hover img{transform:scale(1.025)}
.card-image-wrap{position:relative;overflow:hidden;background:#e9dfd4}.card-image-wrap img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover}.card-image-wrap .secondary{position:absolute;inset:0;opacity:0}.card:hover .card-image-wrap .secondary{opacity:1}.card:hover .card-image-wrap .primary{opacity:0}
.card-view{position:absolute;left:14px;bottom:14px;background:rgba(248,243,236,.93);padding:10px 12px;font-size:8px;letter-spacing:.17em;text-transform:uppercase;opacity:0;transform:translateY(6px);transition:.25s ease}.card:hover .card-view{opacity:1;transform:none}
.card-meta{letter-spacing:.04em}.card-meta span:first-child{font-family:"Cormorant Garamond",serif;font-size:17px}.card-meta span:last-child{font-size:10px;letter-spacing:.08em}
.editorial-band{background:var(--rv-ink);color:#f8f3ec;padding:22px 5vw;overflow:hidden;white-space:nowrap}.editorial-band .track{display:inline-flex;gap:48px;font:italic 21px "Cormorant Garamond";letter-spacing:.02em;animation:rv-marquee 26s linear infinite}.editorial-band .track span{opacity:.92}.editorial-band .track b{font-style:normal;font-size:11px;color:#c6a675}@keyframes rv-marquee{from{transform:translateX(0)}to{transform:translateX(-35%)}}
.page .rule{margin:55px 0}.page h1 i,.collection h2 i{font-weight:400}
.notice{border-radius:0!important}
.footer a{transition:opacity .2s ease}.footer a:hover{opacity:1}
.footer-brand img{object-position:left center}
.disclaimer{letter-spacing:.05em!important}
@media(max-width:800px){.nav{grid-template-columns:42px 1fr 42px!important;padding:0 4vw}.nav>a:first-child{justify-self:center;grid-column:2}.nav .actions{grid-column:3;grid-row:1;justify-self:end}.nav .actions a{display:none}.menu-toggle{display:flex;grid-column:1;grid-row:1}.links{display:none!important}.brand-logo{width:105px!important}.mobile-menu a{font-size:34px}.editorial-band{padding:18px 4vw}.editorial-band .track{font-size:18px;gap:30px}.card-view{display:none}.collection .cards,.cards{grid-template-columns:1fr 1fr!important}.hero .gallery{box-shadow:none}.page .rule{margin:38px 0}}
@media(max-width:520px){.collection .cards,.cards{grid-template-columns:1fr!important}.card-meta span:first-child{font-size:18px}}

/* REVAĀ responsive system — desktop, tablet and mobile */
*,*::before,*::after{box-sizing:border-box}
html{width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{width:100%;min-width:0;overflow-x:hidden}
img,video{max-width:100%;height:auto}
button,a,input,textarea,select{touch-action:manipulation}
button,a{ -webkit-tap-highlight-color:transparent }

/* Tablet / iPad landscape and smaller laptops */
@media (min-width:801px) and (max-width:1180px){
  .top{height:28px;font-size:8px;letter-spacing:.16em;padding:0 18px;text-align:center}
  .nav{height:72px;padding:0 3.5vw;grid-template-columns:44px 1fr 44px}
  .nav>a:first-of-type{justify-self:center;grid-column:2}
  .brand-logo{width:112px;height:54px}
  .links{display:none!important}
  .actions{grid-column:3;grid-row:1;justify-self:end}
  .actions a{display:none}
  .menu-toggle{display:flex;grid-column:1;grid-row:1}
  .hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;min-height:auto;padding:24px 3vw 28px}
  .hero .gallery{min-height:620px;max-height:78vh}
  .hero .info{padding:3vw 2vw 3vw 0}
  .title{font-size:clamp(48px,6vw,68px)}
  .desc{max-width:100%;font-size:15px}
  .benefits{gap:10px}
  .details{padding:28px 3vw 80px}
  .story{padding:80px 6vw}
  .story-intro,.why{gap:5vw}
  .principles{padding-top:55px}
  .page{padding:72px 5vw}
  .page h1{font-size:clamp(60px,8vw,88px)}
  .cards{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important}
  .collection{padding-left:4vw;padding-right:4vw}
  .footer{padding:44px 4vw}
  .footer-top{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
  .mobile-menu{padding-left:8vw;padding-right:8vw}
}

/* Touch tablets / large phones in landscape */
@media (min-width:601px) and (max-width:800px){
  .nav{grid-template-columns:48px 1fr 48px!important;padding:0 3vw!important}
  .brand-logo{width:112px!important;height:54px!important}
  .mobile-menu a{font-size:42px}
  .hero{padding:18px 4vw 30px}
  .gallery{min-height:78vh;max-height:none}
  .info{padding:40px 2vw 20px}
  .thumbs{grid-template-columns:repeat(3,1fr)!important}
  .collection .cards,.cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .footer-top{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* Phones */
@media (max-width:600px){
  .top{height:auto;min-height:28px;padding:7px 14px;font-size:7px;line-height:1.35;letter-spacing:.13em;text-align:center}
  .nav{height:64px!important;min-height:64px!important;padding:0 4vw!important;grid-template-columns:42px minmax(0,1fr) 42px!important}
  .nav>a:first-of-type{grid-column:2;grid-row:1;justify-self:center;min-width:0}
  .brand-logo{width:104px!important;height:50px!important;object-fit:contain}
  .menu-toggle{display:flex!important;grid-column:1!important;grid-row:1!important;width:40px;height:40px;font-size:20px;padding:0}
  .actions{grid-column:3!important;grid-row:1!important;justify-self:end!important;min-width:0}
  .actions a{display:none!important}
  .mobile-menu{padding:84px 7vw 34px;overscroll-behavior:contain}
  .mobile-menu a{font-size:31px;padding:12px 0}
  .mobile-menu .small{font-size:8px;letter-spacing:.14em;padding-top:20px;overflow-wrap:anywhere}

  .hero{display:flex;flex-direction:column;min-height:0;padding:10px 4vw 34px;gap:0}
  .hero .gallery{width:100%;min-height:0;height:auto;aspect-ratio:4/5;box-shadow:none}
  .hero .gallery .main-img{height:100%;width:100%;object-fit:cover}
  .arrow{width:38px;height:38px;font-size:18px}
  .prev{left:10px}.next{right:10px}
  .count{left:10px;bottom:10px;font-size:8px;padding:7px 9px}
  .dots{bottom:13px;gap:7px}
  .dot{width:5px;height:5px}
  .info{padding:38px 2px 10px;display:block}
  .eyebrow{font-size:8px;letter-spacing:.2em;margin-bottom:15px}
  .title{font-size:clamp(42px,14vw,62px);line-height:.92;margin-bottom:12px;word-break:normal}
  .tagline{font-size:18px;line-height:1.35}
  .price{font-size:25px;margin-bottom:14px}
  .stars{margin-bottom:20px}
  .desc{font-size:16px;line-height:1.65;margin-bottom:20px}
  .row{padding:14px 0;font-size:8px;letter-spacing:.14em}
  .row p{font-size:15px;line-height:1.65}
  .buyrow{margin-top:22px}
  .bag{padding:15px 10px;font-size:8px}
  .wish{width:50px}
  .benefits{grid-template-columns:1fr;gap:12px;margin-top:22px;padding-top:16px;font-size:8px}
  .details{padding:18px 4vw 70px}
  .sectionline{font-size:8px;margin-bottom:18px;gap:12px}
  .thumbs{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px}
  .thumb img{aspect-ratio:3/4}
  .caption{font-size:15px}

  .story{padding:72px 7vw}
  .story-intro,.why{display:block;margin-bottom:65px}
  .story h2{font-size:clamp(52px,16vw,76px);margin-bottom:32px}
  .story-copy,.why-copy{font-size:17px;line-height:1.75}
  .story-rule{margin:32px 0}
  .why{padding-top:55px}
  .why h3{font-size:42px;margin-bottom:28px}
  .why-copy .river{font-size:24px}
  .principles{padding-top:55px}
  .principles-head{display:block;margin-bottom:28px}
  .principles h3{font-size:43px;margin-bottom:18px}
  .principles-intro{font-size:12px;line-height:1.6}
  .principle-grid{grid-template-columns:1fr}
  .principle,.principle:nth-child(even){padding:25px 0;border-left:0}
  .principle h4{font-size:28px}
  .principle p{font-size:16px;line-height:1.7}

  .page{padding:62px 7vw 75px}
  .page h1{font-size:clamp(48px,15vw,68px);line-height:.92}
  .page .lead{font-size:16px;line-height:1.7}
  .page .rule{margin:35px 0}
  .cards,.collection .cards{grid-template-columns:1fr 1fr!important;gap:12px!important}
  .card-meta{display:flex;flex-direction:column;gap:4px;padding-top:8px}
  .card-meta span:first-child{font-size:17px;line-height:1.05}
  .card-meta span:last-child{font-size:9px}
  .card-view{display:none}

  .contact-grid,.policy-list{grid-template-columns:1fr!important}
  .form{margin-top:35px}
  .field input,.field textarea{font-size:16px;padding:13px}
  .submit{width:100%;padding:15px}
  .notice{font-size:15px}
  .size-table{font-size:11px;display:block;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}
  .faq summary{font-size:20px;line-height:1.25;padding-right:8px}
  .faq p{font-size:15px;line-height:1.7}

  .editorial-band{padding:15px 4vw}
  .editorial-band .track{font-size:17px;gap:24px;animation-duration:22s}
  .footer{padding:40px 7vw 28px}
  .footer-top{grid-template-columns:1fr!important;gap:28px}
  .footer-brand img{width:118px;height:58px}
  .footer-bottom{display:block}
  .footer-bottom>*{display:block;margin-bottom:12px;overflow-wrap:anywhere}
  .disclaimer{font-size:9px;line-height:1.6}
}

/* Extra-small phones */
@media (max-width:380px){
  .nav{padding:0 3vw!important}
  .brand-logo{width:94px!important}
  .mobile-menu a{font-size:28px}
  .cards,.collection .cards{gap:9px!important}
  .card-meta span:first-child{font-size:15px}
  .card-meta span:last-child{font-size:8px}
  .buyrow{gap:7px}
  .bag{letter-spacing:.1em}
}

/* Respect devices with a home indicator / notch */
@supports (padding:max(0px)){
  .nav{padding-left:max(4vw,env(safe-area-inset-left));padding-right:max(4vw,env(safe-area-inset-right))}
  .mobile-menu{padding-bottom:max(34px,env(safe-area-inset-bottom))}
  .footer{padding-bottom:max(28px,env(safe-area-inset-bottom))}
}

/* FINAL MOBILE FOOTER FIX — prevents footer columns and text from colliding */
.footer,
.footer *{min-width:0;max-width:100%}
.footer-top > *{min-width:0}
@media (max-width: 900px){
  .footer{width:100%;overflow:hidden;padding-left:6vw;padding-right:6vw}
  .footer-top{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    width:100% !important;
    gap:0 !important;
  }
  .footer-top > div{
    width:100% !important;
    min-width:0 !important;
    padding:22px 0 !important;
    border-bottom:1px solid rgba(238,228,217,.16);
  }
  .footer-top > div:first-child{
    padding-top:0 !important;
    text-align:center;
  }
  .footer-brand img{
    display:block;
    width:132px !important;
    height:auto !important;
    margin:0 auto 16px !important;
  }
  .footer-brand p{
    width:100% !important;
    max-width:310px !important;
    margin:0 auto !important;
    font-size:17px !important;
    line-height:1.55 !important;
    overflow-wrap:break-word !important;
    word-break:normal !important;
  }
  .footer h4{
    margin-bottom:13px !important;
    font-size:9px !important;
  }
  .footer a{
    display:block !important;
    width:100% !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
    word-break:normal !important;
    font-size:10px !important;
    line-height:1.5 !important;
    margin:9px 0 !important;
  }
  .footer-bottom{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:10px !important;
    width:100% !important;
    padding-top:20px !important;
  }
  .footer-bottom > *{
    width:100% !important;
    display:block !important;
    margin:0 !important;
    overflow-wrap:anywhere !important;
    word-break:normal !important;
  }
  .footer-bottom a{font-size:10px !important}
  .footer .disclaimer{
    width:100% !important;
    max-width:100% !important;
    margin-top:20px !important;
    font-size:9px !important;
    line-height:1.65 !important;
    overflow-wrap:break-word !important;
    word-break:normal !important;
  }
}
