/*
Theme Name:        OopsTime Fashion Diary
Theme URI:         https://oopstime.com
Author:            OopsTime Editorial
Author URI:        https://oopstime.com
Description:       Tema editorial de lujo para OopsTime: Fashion Diary — revista digital de moda inspirada en Vogue. Soporta artículos, Fashion Diary, suscripciones y WooCommerce.
Version: 2.1.2-analytics-moved-to-author-portal
Requires at least: 6.0
Tested up to:      6.7
Requires PHP:      8.0
License:           Proprietary
License URI:       https://oopstime.com/license
Text Domain:       oopstime
Tags:              fashion, magazine, editorial, luxury, blog, woocommerce
*/

/* ============================================================
   CSS CUSTOM PROPERTIES — Design Tokens
   ============================================================ */
:root {
  /* Colors */
  --color-black:       #0a0a0a;
  --color-white:       #ffffff;
  --color-bg:          #f9f8f6;
  --color-secondary:   #f5f5f3;
  --color-accent:      #e8e5e0;
  --color-muted:       #7a7065;
  --color-text:        #1a1814;
  --color-cream:       #FAF7F2;
  --color-diary-bg:    #FDFAF5;
  --color-gold:        #c9a96e;

  /* Typography */
  --font-editorial:    'Playfair Display', Georgia, 'Times New Roman', serif;
  --font-body:         'Inter', system-ui, -apple-system, sans-serif;
  --font-label:        'Inter', system-ui, sans-serif;

  /* Spacing */
  --section-padding:   4rem;
  --container-max:     1029px;
  --container-px:      1.5rem;

  /* Transitions */
  --transition:        all 0.2s ease;
  --transition-slow:   all 0.5s ease;

  /* Border radius */
  --radius-card:       4px;
  --radius-btn:        2px;
  --radius-pill:       999px;

  /* Shadows */
  --shadow-sm:         0 1px 3px rgba(0,0,0,0.08);
  --shadow-md:         0 4px 16px rgba(0,0,0,0.10);
  --shadow-lg:         0 8px 40px rgba(0,0,0,0.14);
  --shadow-xl:         0 16px 64px rgba(0,0,0,0.18);
}







/* =========================================================
   OopsTime — Refined Compact Newsletter Section
   Inspired by luxury editorial spacing (Allure/Vogue scale)
========================================================= */

.ot-standalone-newsletter--home,
.ot-standalone-newsletter,
.oopstime-newsletter-section{
    padding: 72px 20px !important;
    max-width: 980px !important;
    margin: 0 auto !important;
    background:#fff !important;
}

.ot-standalone-newsletter--home .newsletter-inner,
.ot-standalone-newsletter .newsletter-inner,
.oopstime-newsletter-section .newsletter-inner{
    max-width: 760px !important;
    margin: 0 auto !important;
    text-align:center !important;
}

.ot-standalone-newsletter--home .newsletter-eyebrow,
.ot-standalone-newsletter .newsletter-eyebrow,
.oopstime-newsletter-section .newsletter-eyebrow{
    font-size:11px !important;
    letter-spacing:.28em !important;
    margin-bottom:18px !important;
    color:#777 !important;
}

.ot-standalone-newsletter--home h2,
.ot-standalone-newsletter h2,
.oopstime-newsletter-section h2{
    font-size: clamp(2.2rem, 4vw, 4rem) !important;
    line-height: .96 !important;
    letter-spacing:-0.03em !important;
    margin-bottom:18px !important;
    max-width:720px !important;
    margin-left:auto !important;
    margin-right:auto !important;
}

.ot-standalone-newsletter--home p,
.ot-standalone-newsletter p,
.oopstime-newsletter-section p{
    font-size:1.05rem !important;
    line-height:1.65 !important;
    max-width:560px !important;
    margin:0 auto 28px auto !important;
    color:#444 !important;
}

.ot-standalone-newsletter--home form,
.ot-standalone-newsletter form,
.oopstime-newsletter-section form{
    max-width:600px !important;
    margin:0 auto !important;
}

.ot-standalone-newsletter--home input[type="email"],
.ot-standalone-newsletter input[type="email"],
.oopstime-newsletter-section input[type="email"]{
    height:56px !important;
    font-size:15px !important;
    padding:0 18px !important;
}

.ot-standalone-newsletter--home button,
.ot-standalone-newsletter button,
.oopstime-newsletter-section button{
    height:56px !important;
    padding:0 32px !important;
    font-size:12px !important;
    letter-spacing:.18em !important;
}

.ot-standalone-newsletter--home .newsletter-legal,
.ot-standalone-newsletter .newsletter-legal,
.oopstime-newsletter-section .newsletter-legal{
    margin-top:14px !important;
    font-size:10px !important;
    letter-spacing:.16em !important;
    color:#8a8a8a !important;
}

/* Mobile refinement */
@media (max-width: 768px){

    .ot-standalone-newsletter--home,
    .ot-standalone-newsletter,
    .oopstime-newsletter-section{
        padding:52px 18px !important;
    }

    .ot-standalone-newsletter--home h2,
    .ot-standalone-newsletter h2,
    .oopstime-newsletter-section h2{
        font-size:2.5rem !important;
    }

    .ot-standalone-newsletter--home p,
    .ot-standalone-newsletter p,
    .oopstime-newsletter-section p{
        font-size:.98rem !important;
    }

}



/* =========================================================
   OopsTime FINAL Luxury Compact Newsletter Fix
========================================================= */

.ot-standalone-newsletter--home,
.ot-standalone-newsletter,
.oopstime-newsletter-section{
    background:#ffffff !important;
    padding:48px 20px !important;
    margin:0 auto !important;
    max-width:100% !important;
    border:none !important;
    box-shadow:none !important;
}

.ot-standalone-newsletter--home .newsletter-inner,
.ot-standalone-newsletter .newsletter-inner,
.oopstime-newsletter-section .newsletter-inner{
    max-width:620px !important;
    margin:0 auto !important;
    text-align:center !important;
}

.ot-standalone-newsletter--home .newsletter-eyebrow,
.ot-standalone-newsletter .newsletter-eyebrow,
.oopstime-newsletter-section .newsletter-eyebrow{
    font-size:10px !important;
    letter-spacing:.30em !important;
    margin-bottom:12px !important;
    color:#777 !important;
}

.ot-standalone-newsletter--home h2,
.ot-standalone-newsletter h2,
.oopstime-newsletter-section h2{
    font-size:clamp(2rem,3vw,3.3rem) !important;
    line-height:1 !important;
    margin-bottom:14px !important;
    letter-spacing:-0.04em !important;
    color:#000 !important;
}

.ot-standalone-newsletter--home p,
.ot-standalone-newsletter p,
.oopstime-newsletter-section p{
    font-size:.95rem !important;
    line-height:1.55 !important;
    margin:0 auto 18px auto !important;
    max-width:480px !important;
    color:#444 !important;
}

.ot-standalone-newsletter--home form,
.ot-standalone-newsletter form,
.oopstime-newsletter-section form{
    max-width:520px !important;
    margin:0 auto !important;
}

.ot-standalone-newsletter--home input[type="email"],
.ot-standalone-newsletter input[type="email"],
.oopstime-newsletter-section input[type="email"]{
    height:48px !important;
    font-size:14px !important;
    padding:0 16px !important;
    background:#fff !important;
    border:1px solid #d9d9d9 !important;
}

.ot-standalone-newsletter--home button,
.ot-standalone-newsletter button,
.oopstime-newsletter-section button{
    height:48px !important;
    padding:0 24px !important;
    font-size:11px !important;
    letter-spacing:.18em !important;
}

.ot-standalone-newsletter--home .newsletter-legal,
.ot-standalone-newsletter .newsletter-legal,
.oopstime-newsletter-section .newsletter-legal{
    font-size:9px !important;
    letter-spacing:.14em !important;
    margin-top:10px !important;
    color:#999 !important;
    text-transform:uppercase !important;
}

@media (max-width:768px){

    .ot-standalone-newsletter--home,
    .ot-standalone-newsletter,
    .oopstime-newsletter-section{
        padding:40px 18px !important;
    }

    .ot-standalone-newsletter--home h2,
    .ot-standalone-newsletter h2,
    .oopstime-newsletter-section h2{
        font-size:2.4rem !important;
    }

}



/* =========================================================
   OopsTime About Page — Luxury Editorial Info Page
========================================================= */

.ot-about-page{
    background:#fff;
    color:#080808;
    font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;
}

.ot-about-page a{
    color:inherit;
}

.ot-about-hero{
    border-bottom:1px solid rgba(0,0,0,.12);
    padding:clamp(5rem, 9vw, 9rem) 24px clamp(3.5rem, 7vw, 6rem);
    text-align:center;
    background:#fff;
}

.ot-about-hero__inner{
    width:min(980px, 100%);
    margin:0 auto;
}

.ot-about-eyebrow,
.ot-about-section__kicker{
    margin:0 0 1.15rem;
    text-transform:uppercase;
    letter-spacing:.24em;
    font-size:.68rem;
    color:#777;
    font-weight:500;
}

.ot-about-hero h1{
    margin:0 auto;
    max-width:980px;
    font-family:"Playfair Display", Georgia, "Times New Roman", serif;
    font-size:clamp(4rem, 10vw, 9.5rem);
    font-weight:400;
    line-height:.86;
    letter-spacing:-.065em;
    text-wrap:balance;
}

.ot-about-dek{
    max-width:720px;
    margin:clamp(1.5rem, 3vw, 2.2rem) auto 0;
    font-size:clamp(1.05rem, 1.6vw, 1.28rem);
    line-height:1.55;
    color:#333;
}

.ot-about-intro{
    padding:clamp(3rem, 7vw, 6rem) 24px;
    border-bottom:1px solid rgba(0,0,0,.12);
}

.ot-about-intro__grid{
    width:min(1120px, 100%);
    margin:0 auto;
    display:grid;
    grid-template-columns:260px minmax(0, 1fr);
    gap:clamp(2rem, 5vw, 5rem);
}

.ot-about-intro__label span{
    display:block;
    text-transform:uppercase;
    letter-spacing:.22em;
    font-size:.72rem;
    color:#777;
}

.ot-about-intro__copy p{
    font-family:"Playfair Display", Georgia, serif;
    font-size:clamp(1.85rem, 3.2vw, 3.4rem);
    line-height:1.02;
    letter-spacing:-.04em;
    margin:0 0 1.1rem;
}

.ot-about-links{
    width:min(1120px, calc(100% - 48px));
    margin:0 auto;
    display:grid;
    grid-template-columns:repeat(5, minmax(0,1fr));
    border-bottom:1px solid rgba(0,0,0,.12);
}

.ot-about-links a{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:74px;
    text-decoration:none;
    text-transform:uppercase;
    letter-spacing:.16em;
    font-size:.68rem;
    border-right:1px solid rgba(0,0,0,.12);
}

.ot-about-links a:last-child{
    border-right:0;
}

.ot-about-section{
    width:min(1120px, calc(100% - 48px));
    margin:0 auto;
    padding:clamp(4rem, 8vw, 7rem) 0;
    border-bottom:1px solid rgba(0,0,0,.12);
}

.ot-about-section--statement{
    text-align:center;
    width:min(920px, calc(100% - 48px));
}

.ot-about-section--statement h2,
.ot-about-contact h2{
    font-family:"Playfair Display", Georgia, serif;
    font-weight:400;
    font-size:clamp(2.8rem, 6vw, 6.8rem);
    line-height:.93;
    letter-spacing:-.06em;
    margin:0 auto 1.6rem;
    text-wrap:balance;
}

.ot-about-section--statement p{
    max-width:660px;
    margin:0 auto;
    line-height:1.75;
    color:#333;
    font-size:1.04rem;
}

.ot-about-section--two{
    display:grid;
    grid-template-columns:minmax(280px, 420px) minmax(0, 1fr);
    gap:clamp(2rem, 6vw, 6rem);
}

.ot-about-section--two h2,
.ot-about-section--cards h2{
    font-family:"Playfair Display", Georgia, serif;
    font-weight:400;
    font-size:clamp(2.4rem, 4.6vw, 5rem);
    line-height:.95;
    letter-spacing:-.055em;
    margin:0;
    text-wrap:balance;
}

.ot-about-text-stack p{
    margin:0 0 1.45rem;
    color:#222;
    line-height:1.75;
    font-size:1.02rem;
}

.ot-about-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-top:.4rem;
    min-height:48px;
    padding:0 1.4rem;
    background:#080808;
    color:#fff !important;
    text-decoration:none;
    text-transform:uppercase;
    letter-spacing:.16em;
    font-size:.68rem;
}

.ot-about-card-grid{
    margin-top:clamp(2rem, 4vw, 3rem);
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    border-top:1px solid rgba(0,0,0,.12);
    border-left:1px solid rgba(0,0,0,.12);
}

.ot-about-card-grid article{
    padding:clamp(1.4rem, 3vw, 2rem);
    border-right:1px solid rgba(0,0,0,.12);
    border-bottom:1px solid rgba(0,0,0,.12);
}

.ot-about-card-grid h3{
    margin:0 0 .75rem;
    font-family:"Playfair Display", Georgia, serif;
    font-weight:400;
    font-size:clamp(1.55rem, 2.4vw, 2.35rem);
    letter-spacing:-.035em;
}

.ot-about-card-grid p{
    margin:0;
    color:#444;
    line-height:1.65;
    font-size:.95rem;
}

.ot-about-section--policies{
    padding-top:clamp(2.5rem, 5vw, 4rem);
    padding-bottom:clamp(2.5rem, 5vw, 4rem);
}

.ot-about-policy-list{
    display:grid;
    grid-template-columns:repeat(4, minmax(0,1fr));
    border-top:1px solid rgba(0,0,0,.12);
    border-left:1px solid rgba(0,0,0,.12);
}

.ot-about-policy-list a{
    min-height:74px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:1rem;
    border-right:1px solid rgba(0,0,0,.12);
    border-bottom:1px solid rgba(0,0,0,.12);
    text-decoration:none;
    text-transform:uppercase;
    letter-spacing:.14em;
    font-size:.68rem;
    text-align:center;
}

.ot-about-contact{
    padding:clamp(4rem, 8vw, 7rem) 24px;
    text-align:center;
    background:#080808;
    color:#fff;
}

.ot-about-contact .ot-about-eyebrow{
    color:rgba(255,255,255,.65);
}

.ot-about-contact h2{
    max-width:920px;
    color:#fff;
}

.ot-about-contact a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:52px;
    padding:0 1.6rem;
    border:1px solid rgba(255,255,255,.36);
    color:#fff;
    text-decoration:none;
    text-transform:uppercase;
    letter-spacing:.16em;
    font-size:.7rem;
}

@media(max-width:900px){
    .ot-about-intro__grid,
    .ot-about-section--two{
        grid-template-columns:1fr;
    }

    .ot-about-links{
        grid-template-columns:1fr;
    }

    .ot-about-links a{
        border-right:0;
        border-top:1px solid rgba(0,0,0,.12);
    }

    .ot-about-card-grid,
    .ot-about-policy-list{
        grid-template-columns:1fr 1fr;
    }
}

@media(max-width:640px){
    .ot-about-hero{
        padding-top:4rem;
    }

    .ot-about-hero h1{
        font-size:clamp(3.2rem, 17vw, 5.6rem);
    }

    .ot-about-intro__copy p{
        font-size:2rem;
    }

    .ot-about-card-grid,
    .ot-about-policy-list{
        grid-template-columns:1fr;
    }

    .ot-about-section,
    .ot-about-section--statement,
    .ot-about-links{
        width:calc(100% - 36px);
    }
}



/* =========================================================
   OopsTime Accessibility Page
========================================================= */

.ot-accessibility-page{
    background:#fff;
    color:#080808;
}

.ot-accessibility-hero{
    padding:clamp(5rem, 9vw, 8rem) 24px clamp(3rem, 6vw, 5rem);
    border-bottom:1px solid rgba(0,0,0,.12);
}

.ot-accessibility-hero__inner{
    width:min(1100px,100%);
    margin:0 auto;
}

.ot-accessibility-eyebrow,
.ot-accessibility-kicker{
    margin:0 0 1rem;
    text-transform:uppercase;
    letter-spacing:.24em;
    font-size:.68rem;
    color:#777;
}

.ot-accessibility-hero h1{
    margin:0;
    max-width:900px;
    font-family:"Playfair Display", Georgia, serif;
    font-size:clamp(3.8rem, 9vw, 8rem);
    line-height:.88;
    letter-spacing:-.065em;
    font-weight:400;
}

.ot-accessibility-dek{
    margin:1.8rem 0 0;
    max-width:720px;
    font-size:1.12rem;
    line-height:1.75;
    color:#333;
}

.ot-accessibility-body{
    padding:0 24px;
}

.ot-accessibility-grid{
    width:min(1120px,100%);
    margin:0 auto;
    display:grid;
    grid-template-columns:240px minmax(0,1fr);
    gap:clamp(2rem,6vw,6rem);
}

.ot-accessibility-sidebar{
    padding-top:3rem;
}

.ot-accessibility-sidebar nav{
    position:sticky;
    top:110px;
    border-top:1px solid rgba(0,0,0,.12);
}

.ot-accessibility-sidebar a{
    display:flex;
    align-items:center;
    min-height:60px;
    border-bottom:1px solid rgba(0,0,0,.12);
    text-decoration:none;
    text-transform:uppercase;
    letter-spacing:.15em;
    font-size:.68rem;
}

.ot-accessibility-content{
    padding:3rem 0 6rem;
}

.ot-accessibility-section{
    padding:0 0 4rem;
    margin-bottom:4rem;
    border-bottom:1px solid rgba(0,0,0,.12);
}

.ot-accessibility-section--last{
    margin-bottom:0;
}

.ot-accessibility-section h2{
    margin:0 0 1.4rem;
    max-width:760px;
    font-family:"Playfair Display", Georgia, serif;
    font-size:clamp(2.4rem,5vw,5rem);
    line-height:.95;
    letter-spacing:-.055em;
    font-weight:400;
}

.ot-accessibility-section p{
    max-width:760px;
    line-height:1.8;
    color:#222;
    font-size:1.02rem;
}

.ot-accessibility-feature-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    margin-top:2rem;
    border-top:1px solid rgba(0,0,0,.12);
    border-left:1px solid rgba(0,0,0,.12);
}

.ot-accessibility-feature-grid article{
    padding:1.6rem;
    border-right:1px solid rgba(0,0,0,.12);
    border-bottom:1px solid rgba(0,0,0,.12);
}

.ot-accessibility-feature-grid h3{
    margin:0 0 .7rem;
    font-family:"Playfair Display", Georgia, serif;
    font-size:1.9rem;
    font-weight:400;
    letter-spacing:-.04em;
}

.ot-accessibility-feature-grid p{
    margin:0;
    font-size:.95rem;
    line-height:1.7;
    color:#444;
}

.ot-accessibility-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:50px;
    padding:0 1.5rem;
    margin-top:1rem;
    background:#080808;
    color:#fff !important;
    text-decoration:none;
    text-transform:uppercase;
    letter-spacing:.15em;
    font-size:.68rem;
}

.ot-accessibility-small{
    color:#666 !important;
    font-size:.92rem !important;
}

@media(max-width:900px){

    .ot-accessibility-grid{
        grid-template-columns:1fr;
    }

    .ot-accessibility-sidebar{
        padding-top:2rem;
    }

    .ot-accessibility-sidebar nav{
        position:relative;
        top:auto;
    }
}

@media(max-width:640px){

    .ot-accessibility-hero h1{
        font-size:clamp(3rem,16vw,5rem);
    }

    .ot-accessibility-feature-grid{
        grid-template-columns:1fr;
    }
}



/* =========================================================
   OopsTime Contact Page
========================================================= */

.ot-contact-page{
    background:#fff;
    color:#080808;
}

.ot-contact-hero{
    padding:clamp(5rem,9vw,8rem) 24px clamp(3rem,6vw,5rem);
    border-bottom:1px solid rgba(0,0,0,.12);
}

.ot-contact-hero__inner{
    width:min(1120px,100%);
    margin:0 auto;
}

.ot-contact-eyebrow,
.ot-contact-kicker{
    margin:0 0 1rem;
    text-transform:uppercase;
    letter-spacing:.24em;
    font-size:.68rem;
    color:#777;
}

.ot-contact-hero h1{
    margin:0;
    max-width:900px;
    font-family:"Playfair Display", Georgia, serif;
    font-size:clamp(4rem,9vw,8rem);
    line-height:.88;
    letter-spacing:-.065em;
    font-weight:400;
}

.ot-contact-dek{
    margin:1.8rem 0 0;
    max-width:720px;
    font-size:1.1rem;
    line-height:1.8;
    color:#333;
}

.ot-contact-body{
    padding:0 24px;
}

.ot-contact-grid{
    width:min(1120px,100%);
    margin:0 auto;
    display:grid;
    grid-template-columns:240px minmax(0,1fr);
    gap:clamp(2rem,6vw,6rem);
}

.ot-contact-sidebar{
    padding-top:3rem;
}

.ot-contact-sidebar nav{
    position:sticky;
    top:110px;
    border-top:1px solid rgba(0,0,0,.12);
}

.ot-contact-sidebar a{
    display:flex;
    align-items:center;
    min-height:60px;
    border-bottom:1px solid rgba(0,0,0,.12);
    text-decoration:none;
    text-transform:uppercase;
    letter-spacing:.15em;
    font-size:.68rem;
}

.ot-contact-content{
    padding:3rem 0 6rem;
}

.ot-contact-section{
    padding:0 0 4rem;
    margin-bottom:4rem;
    border-bottom:1px solid rgba(0,0,0,.12);
}

.ot-contact-section--last{
    margin-bottom:0;
}

.ot-contact-section h2{
    margin:0 0 1.4rem;
    max-width:760px;
    font-family:"Playfair Display", Georgia, serif;
    font-size:clamp(2.5rem,5vw,5rem);
    line-height:.95;
    letter-spacing:-.055em;
    font-weight:400;
}

.ot-contact-section p{
    max-width:760px;
    line-height:1.8;
    color:#222;
    font-size:1.02rem;
}

.ot-contact-card-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    border-top:1px solid rgba(0,0,0,.12);
    border-left:1px solid rgba(0,0,0,.12);
    margin-top:2rem;
}

.ot-contact-card{
    padding:2rem;
    border-right:1px solid rgba(0,0,0,.12);
    border-bottom:1px solid rgba(0,0,0,.12);
}

.ot-contact-card span{
    display:block;
    margin-bottom:.8rem;
    text-transform:uppercase;
    letter-spacing:.18em;
    font-size:.68rem;
    color:#777;
}

.ot-contact-card a{
    text-decoration:none;
    font-family:"Playfair Display", Georgia, serif;
    font-size:clamp(1.5rem,3vw,2.4rem);
    line-height:1.1;
    letter-spacing:-.04em;
}

@media(max-width:900px){

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

    .ot-contact-sidebar{
        padding-top:2rem;
    }

    .ot-contact-sidebar nav{
        position:relative;
        top:auto;
    }
}

@media(max-width:640px){

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

    .ot-contact-hero h1{
        font-size:clamp(3rem,16vw,5rem);
    }
}



/* =========================================================
   OopsTime Legal Pages
========================================================= */

.ot-legal-page{
    background:#fff;
    color:#080808;
}

.ot-legal-hero{
    padding:120px 24px 70px;
    border-bottom:1px solid rgba(0,0,0,.12);
}

.ot-legal-inner{
    width:min(980px,100%);
    margin:0 auto;
}

.ot-legal-eyebrow{
    text-transform:uppercase;
    letter-spacing:.24em;
    font-size:.68rem;
    color:#777;
    margin-bottom:1rem;
}

.ot-legal-hero h1{
    font-family:"Playfair Display", Georgia, serif;
    font-size:clamp(3.5rem,8vw,7rem);
    line-height:.9;
    letter-spacing:-.06em;
    font-weight:400;
    margin:0;
}

.ot-legal-dek{
    margin-top:1.6rem;
    max-width:720px;
    font-size:1.08rem;
    line-height:1.8;
    color:#333;
}

.ot-legal-content{
    padding:70px 24px 100px;
}

.ot-legal-text h2{
    font-family:"Playfair Display", Georgia, serif;
    font-size:clamp(2rem,4vw,3.5rem);
    line-height:1;
    letter-spacing:-.05em;
    font-weight:400;
    margin:0 0 1rem;
}

.ot-legal-text p{
    line-height:1.9;
    color:#222;
    margin:0 0 2rem;
    max-width:760px;
    font-size:1.02rem;
}



/* =========================================================
   OopsTime Complete Legal / Privacy Policy Pages
========================================================= */

.ot-legal-page{
    background:#fff;
    color:#080808;
}

.ot-legal-hero{
    padding:clamp(5rem,9vw,8rem) 24px clamp(3rem,6vw,5rem);
    border-bottom:1px solid rgba(0,0,0,.12);
    background:#fff;
}

.ot-legal-inner{
    width:min(1120px,100%);
    margin:0 auto;
}

.ot-legal-eyebrow{
    margin:0 0 1rem;
    text-transform:uppercase;
    letter-spacing:.24em;
    font-size:.68rem;
    color:#777;
}

.ot-legal-hero h1{
    margin:0;
    max-width:1000px;
    font-family:"Playfair Display", Georgia, serif;
    font-size:clamp(3.8rem,8.5vw,8rem);
    line-height:.88;
    letter-spacing:-.065em;
    font-weight:400;
}

.ot-legal-dek{
    margin:1.8rem 0 0;
    max-width:760px;
    font-size:1.1rem;
    line-height:1.75;
    color:#333;
}

.ot-legal-content{
    padding:0 24px;
}

.ot-legal-layout{
    width:min(1180px,100%);
    margin:0 auto;
    display:grid;
    grid-template-columns:250px minmax(0,1fr);
    gap:clamp(2rem,5vw,5.5rem);
}

.ot-legal-sidebar{
    padding-top:3.5rem;
}

.ot-legal-sidebar nav{
    position:sticky;
    top:110px;
    border-top:1px solid rgba(0,0,0,.12);
}

.ot-legal-sidebar a{
    display:flex;
    align-items:center;
    min-height:54px;
    border-bottom:1px solid rgba(0,0,0,.12);
    text-decoration:none;
    text-transform:uppercase;
    letter-spacing:.15em;
    font-size:.64rem;
    color:#080808;
}

.ot-legal-text{
    padding:3.5rem 0 7rem;
    max-width:820px;
}

.ot-legal-text h1{
    margin:0 0 1.5rem;
    font-family:"Playfair Display", Georgia, serif;
    font-size:clamp(2.8rem,5.5vw,5.6rem);
    line-height:.9;
    letter-spacing:-.06em;
    font-weight:400;
}

.ot-legal-text h2{
    margin:clamp(3rem,6vw,5rem) 0 1.2rem;
    padding-top:1.5rem;
    border-top:1px solid rgba(0,0,0,.14);
    font-family:"Playfair Display", Georgia, serif;
    font-size:clamp(2rem,4vw,3.8rem);
    line-height:.98;
    letter-spacing:-.052em;
    font-weight:400;
}

.ot-legal-text h3{
    margin:2.2rem 0 .8rem;
    font-family:"Playfair Display", Georgia, serif;
    font-size:clamp(1.4rem,2.4vw,2.1rem);
    line-height:1.05;
    letter-spacing:-.035em;
    font-weight:400;
}

.ot-legal-text p{
    margin:0 0 1.35rem;
    color:#222;
    line-height:1.85;
    font-size:1rem;
}

.ot-legal-text ul{
    margin:0 0 1.8rem 1.2rem;
    padding:0;
}

.ot-legal-text li{
    margin:.45rem 0;
    line-height:1.75;
    color:#222;
}

.ot-legal-text strong{
    font-weight:700;
    color:#000;
}

.ot-legal-rule{
    border:0;
    border-top:1px solid rgba(0,0,0,.10);
    margin:2.5rem 0;
}

@media(max-width:900px){
    .ot-legal-layout{
        grid-template-columns:1fr;
    }

    .ot-legal-sidebar{
        padding-top:2rem;
    }

    .ot-legal-sidebar nav{
        position:relative;
        top:auto;
        display:grid;
        grid-template-columns:1fr 1fr;
    }

    .ot-legal-sidebar a{
        padding-right:1rem;
    }

    .ot-legal-text{
        padding-top:1rem;
    }
}

@media(max-width:640px){
    .ot-legal-hero h1{
        font-size:clamp(3rem,15vw,5rem);
    }

    .ot-legal-sidebar nav{
        grid-template-columns:1fr;
    }
}



/* OopsTime Legal Effective Date */

.ot-legal-effective-date{
    margin-top:1.2rem;
    font-size:.82rem;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:#666;
}





/* =========================================================
   OopsTime Careers Page
========================================================= */

.ot-careers-page{
    background:#fff;
    color:#080808;
}

.ot-careers-eyebrow,
.ot-careers-kicker{
    margin:0 0 1rem;
    text-transform:uppercase;
    letter-spacing:.24em;
    font-size:.68rem;
    color:#777;
}

.ot-careers-hero{
    position:relative;
    min-height:calc(100vh - 120px);
    display:flex;
    align-items:flex-end;
    overflow:hidden;
    background:#080808;
    color:#fff;
}

.ot-careers-hero__media{
    position:absolute;
    inset:0;
    display:grid;
    grid-template-columns:1.1fr .9fr;
    opacity:.72;
}

.ot-careers-hero__image{
    background-size:cover;
    background-position:center;
    filter:grayscale(100%);
    transform:scale(1.02);
}

.ot-careers-hero__image--one{
    background-linear-gradient(rgba(0,0,0,.15),rgba(0,0,0,.35)),url("https://images.unsplash.com/photo-1497366754035-f200968a6e72?auto=format&fit=crop&w=1600&q=80");
}

.ot-careers-hero__image--two{
    background-linear-gradient(rgba(0,0,0,.18),rgba(0,0,0,.45)),url("https://images.unsplash.com/photo-1521737711867-e3b97375f902?auto=format&fit=crop&w=1200&q=80");
}

.ot-careers-hero__inner{
    position:relative;
    z-index:2;
    width:min(1180px,100%);
    margin:0 auto;
    padding:clamp(4rem,8vw,7rem) 24px;
}

.ot-careers-hero h1{
    max-width:1000px;
    margin:0;
    font-family:"Playfair Display", Georgia, serif;
    font-size:clamp(4rem,10vw,9rem);
    line-height:.86;
    letter-spacing:-.07em;
    font-weight:400;
}

.ot-careers-dek{
    max-width:760px;
    margin:1.6rem 0 0;
    font-size:1.08rem;
    line-height:1.75;
    color:rgba(255,255,255,.82);
}

.ot-careers-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:52px;
    margin-top:2rem;
    padding:0 1.55rem;
    border:1px solid #080808;
    background:#080808;
    color:#fff !important;
    text-decoration:none;
    text-transform:uppercase;
    letter-spacing:.16em;
    font-size:.68rem;
}

.ot-careers-hero .ot-careers-button{
    border-color:#fff;
    background:#fff;
    color:#080808 !important;
}

.ot-careers-intro,
.ot-careers-values,
.ot-careers-roles{
    padding:clamp(5rem,8vw,8rem) 24px;
}

.ot-careers-intro__inner,
.ot-careers-values__inner,
.ot-careers-roles__inner,
.ot-careers-final__inner{
    width:min(1120px,100%);
    margin:0 auto;
}

.ot-careers-intro h2,
.ot-careers-split h2,
.ot-careers-editorial-banner h2,
.ot-careers-roles h2,
.ot-careers-final h2{
    margin:0;
    font-family:"Playfair Display", Georgia, serif;
    font-size:clamp(3rem,7vw,7rem);
    line-height:.9;
    letter-spacing:-.065em;
    font-weight:400;
}

.ot-careers-intro p,
.ot-careers-split p,
.ot-careers-note{
    max-width:760px;
    margin:1.5rem 0 0;
    line-height:1.85;
    color:#222;
    font-size:1.02rem;
}

.ot-careers-split{
    display:grid;
    grid-template-columns:1fr 1fr;
    min-height:680px;
    border-top:1px solid rgba(0,0,0,.12);
    border-bottom:1px solid rgba(0,0,0,.12);
}

.ot-careers-split__image{
    background-image:url("https://images.unsplash.com/photo-1516321318423-f06f85e504b3?auto=format&fit=crop&w=1500&q=80");
    background-size:cover;
    background-position:center;
    filter:grayscale(100%);
}

.ot-careers-split__content{
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:clamp(3rem,6vw,6rem);
}

.ot-careers-values__grid,
.ot-careers-departments__grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    border-top:1px solid rgba(0,0,0,.14);
    border-left:1px solid rgba(0,0,0,.14);
}

.ot-careers-values__grid article,
.ot-careers-departments__grid article{
    padding:2rem;
    border-right:1px solid rgba(0,0,0,.14);
    border-bottom:1px solid rgba(0,0,0,.14);
}

.ot-careers-values__grid span{
    display:block;
    margin-bottom:2rem;
    font-size:.72rem;
    letter-spacing:.18em;
    color:#777;
}

.ot-careers-values__grid h3,
.ot-careers-departments__grid h3,
.ot-careers-role-list h3{
    margin:0 0 .8rem;
    font-family:"Playfair Display", Georgia, serif;
    font-size:clamp(1.7rem,2.6vw,2.4rem);
    line-height:1;
    letter-spacing:-.045em;
    font-weight:400;
}

.ot-careers-values__grid p,
.ot-careers-departments__grid p,
.ot-careers-role-list p{
    margin:0;
    color:#444;
    line-height:1.7;
    font-size:.94rem;
}

.ot-careers-editorial-banner{
    padding:clamp(5rem,8vw,8rem) 24px;
    border-top:1px solid rgba(0,0,0,.12);
    background:#080808;
    color:#fff;
}

.ot-careers-editorial-banner > div{
    width:min(1120px,100%);
    margin:0 auto;
}

.ot-careers-editorial-banner .ot-careers-kicker{
    color:#aaa;
}

.ot-careers-departments{
    padding:0 24px clamp(5rem,8vw,8rem);
    background:#080808;
    color:#fff;
}

.ot-careers-departments__grid{
    width:min(1120px,100%);
    margin:0 auto;
    border-color:rgba(255,255,255,.18);
}

.ot-careers-departments__grid article{
    border-color:rgba(255,255,255,.18);
}

.ot-careers-departments__grid p{
    color:rgba(255,255,255,.72);
}

.ot-careers-role-list{
    margin-top:2.5rem;
    border-top:1px solid rgba(0,0,0,.14);
}

.ot-careers-role-list article{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:2rem;
    align-items:center;
    padding:2rem 0;
    border-bottom:1px solid rgba(0,0,0,.14);
}

.ot-careers-role-list a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:0 1.2rem;
    border:1px solid #080808;
    text-decoration:none;
    text-transform:uppercase;
    letter-spacing:.16em;
    font-size:.66rem;
}

.ot-careers-final{
    padding:clamp(5rem,8vw,8rem) 24px;
    background:#080808;
    color:#fff;
    text-align:center;
}

.ot-careers-final h2{
    max-width:900px;
    margin:0 auto;
}

.ot-careers-final .ot-careers-kicker{
    color:#aaa;
}

.ot-careers-button--light{
    border-color:#fff;
    background:#fff;
    color:#080808 !important;
}

@media(max-width:900px){
    .ot-careers-hero__media{
        grid-template-columns:1fr;
    }

    .ot-careers-hero__image--two{
        display:none;
    }

    .ot-careers-split{
        grid-template-columns:1fr;
    }

    .ot-careers-split__image{
        min-height:420px;
    }

    .ot-careers-values__grid,
    .ot-careers-departments__grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:640px){
    .ot-careers-hero{
        min-height:80vh;
    }

    .ot-careers-hero h1{
        font-size:clamp(3.2rem,16vw,5.4rem);
    }

    .ot-careers-values__grid,
    .ot-careers-departments__grid,
    .ot-careers-role-list article{
        grid-template-columns:1fr;
    }

    .ot-careers-role-list article{
        align-items:start;
    }
}



/* =========================================================
   OopsTime Careers Jobs System + Visual Fixes
========================================================= */

.ot-careers-hero{
    color:#fff !important;
}

.ot-careers-hero__media{
    opacity:1 !important;
}

.ot-careers-hero__media:after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.38) 48%,rgba(0,0,0,.22));
    z-index:1;
    pointer-events:none;
}

.ot-careers-hero__image,
.ot-careers-split__image{
    filter:none !important;
}

.ot-careers-hero__inner{
    z-index:2;
}

.ot-careers-hero h1{
    color:#fff !important;
    text-shadow:0 18px 45px rgba(0,0,0,.34);
    max-width:980px;
}

.ot-careers-hero .ot-careers-eyebrow,
.ot-careers-hero .ot-careers-dek{
    color:rgba(255,255,255,.9) !important;
}

.ot-careers-split__content h2,
.ot-careers-intro h2,
.ot-careers-roles h2{
    color:#080808 !important;
}

.ot-careers-editorial-banner h2,
.ot-careers-final h2{
    color:#fff !important;
}

/* Job single page */

.ot-job-single{
    background:#fff;
    color:#080808;
}

.ot-job-hero{
    padding:clamp(5rem,9vw,8rem) 24px clamp(3rem,6vw,5rem);
    background:#080808;
    color:#fff;
}

.ot-job-hero__inner{
    width:min(1120px,100%);
    margin:0 auto;
}

.ot-job-hero h1{
    margin:0;
    max-width:1000px;
    font-family:"Playfair Display", Georgia, serif;
    font-size:clamp(4rem,9vw,8rem);
    line-height:.88;
    letter-spacing:-.065em;
    font-weight:400;
    color:#fff;
}

.ot-job-meta{
    display:flex;
    flex-wrap:wrap;
    gap:.7rem;
    margin:1.7rem 0 0;
}

.ot-job-meta span{
    border:1px solid rgba(255,255,255,.28);
    padding:.55rem .8rem;
    text-transform:uppercase;
    letter-spacing:.15em;
    font-size:.64rem;
    color:rgba(255,255,255,.82);
}

.ot-job-body{
    padding:0 24px;
}

.ot-job-layout{
    width:min(1120px,100%);
    margin:0 auto;
    display:grid;
    grid-template-columns:250px minmax(0,1fr);
    gap:clamp(2rem,5vw,5rem);
}

.ot-job-sidebar{
    padding-top:3rem;
}

.ot-job-sidebar{
    position:sticky;
    top:110px;
    align-self:start;
    display:flex;
    flex-direction:column;
    border-top:1px solid rgba(0,0,0,.12);
}

.ot-job-sidebar a{
    min-height:54px;
    display:flex;
    align-items:center;
    border-bottom:1px solid rgba(0,0,0,.12);
    text-decoration:none;
    text-transform:uppercase;
    letter-spacing:.15em;
    font-size:.64rem;
    color:#080808;
}

.ot-job-content{
    padding:3.5rem 0 7rem;
    max-width:780px;
}

.ot-job-content h2,
.ot-job-apply-card h2{
    margin:2.8rem 0 1rem;
    font-family:"Playfair Display", Georgia, serif;
    font-size:clamp(2rem,4vw,3.8rem);
    line-height:1;
    letter-spacing:-.05em;
    font-weight:400;
}

.ot-job-content p,
.ot-job-content li{
    line-height:1.85;
    color:#222;
    font-size:1.02rem;
}

.ot-job-content ul{
    margin:0 0 1.8rem 1.2rem;
    padding:0;
}

.ot-job-apply-card{
    margin-top:4rem;
    padding:2rem;
    border:1px solid rgba(0,0,0,.14);
}

@media(max-width:900px){
    .ot-job-layout{
        grid-template-columns:1fr;
    }

    .ot-job-sidebar{
        position:relative;
        top:auto;
        padding-top:2rem;
    }
}

@media(max-width:640px){
    .ot-job-hero h1{
        font-size:clamp(3rem,15vw,5.2rem);
    }
}



/* =========================================================
   OopsTime Careers Job Details Modal
========================================================= */

.ot-job-modal-trigger{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:0 1.2rem;
    border:1px solid #080808;
    background:#fff;
    color:#080808;
    text-transform:uppercase;
    letter-spacing:.16em;
    font-size:.66rem;
    cursor:pointer;
}

.ot-job-modal-trigger:hover{
    background:#080808;
    color:#fff;
}

.ot-job-modal{
    position:fixed;
    inset:0;
    z-index:999999;
    display:none;
    align-items:center;
    justify-content:center;
    padding:24px;
}

.ot-job-modal.is-open{
    display:flex;
}

.ot-job-modal__overlay{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.62);
    backdrop-filter:blur(8px);
}

.ot-job-modal__panel{
    position:relative;
    width:min(760px,100%);
    max-height:min(86vh,820px);
    overflow:auto;
    background:#fff;
    color:#080808;
    padding:clamp(2rem,4vw,3.5rem);
    border:1px solid rgba(0,0,0,.16);
    box-shadow:0 30px 90px rgba(0,0,0,.28);
}

.ot-job-modal__close{
    position:absolute;
    top:18px;
    right:18px;
    width:38px;
    height:38px;
    border:1px solid rgba(0,0,0,.18);
    background:#fff;
    color:#080808;
    font-size:24px;
    line-height:1;
    cursor:pointer;
}

.ot-job-modal__panel h2{
    margin:0;
    font-family:"Playfair Display", Georgia, serif;
    font-size:clamp(2.5rem,5vw,4.8rem);
    line-height:.92;
    letter-spacing:-.06em;
    font-weight:400;
}

.ot-job-modal__meta{
    margin:1rem 0 2rem;
    color:#555;
    font-size:.96rem;
    line-height:1.6;
}

.ot-job-modal__details{
    border-top:1px solid rgba(0,0,0,.14);
    padding-top:1.6rem;
}

.ot-job-modal__details h3{
    margin:2rem 0 .8rem;
    font-family:"Playfair Display", Georgia, serif;
    font-size:clamp(1.6rem,3vw,2.3rem);
    line-height:1;
    letter-spacing:-.04em;
    font-weight:400;
}

.ot-job-modal__details p,
.ot-job-modal__details li{
    line-height:1.8;
    color:#222;
    font-size:1rem;
}

.ot-job-modal__details ul{
    margin:0 0 1.4rem 1.2rem;
    padding:0;
}

.ot-job-modal__apply{
    margin-top:2rem;
}

body.ot-job-modal-open{
    overflow:hidden;
}

@media(max-width:640px){
    .ot-job-modal{
        padding:14px;
    }

    .ot-job-modal__panel{
        max-height:90vh;
        padding:2rem 1.4rem;
    }
}



/* =========================================================
   OopsTime Cookie Policy Page
========================================================= */

.ot-cookie-policy-page{
    background:#fff;
    color:#080808;
}

.ot-cookie-hero{
    padding:clamp(5rem,9vw,8rem) 24px clamp(3rem,6vw,5rem);
    border-bottom:1px solid rgba(0,0,0,.12);
    background:#fff;
}

.ot-cookie-inner{
    width:min(1120px,100%);
    margin:0 auto;
}

.ot-cookie-eyebrow,
.ot-cookie-kicker{
    margin:0 0 1rem;
    text-transform:uppercase;
    letter-spacing:.24em;
    font-size:.68rem;
    color:#777;
}

.ot-cookie-hero h1{
    margin:0;
    max-width:900px;
    font-family:"Playfair Display", Georgia, serif;
    font-size:clamp(4rem,9vw,8rem);
    line-height:.88;
    letter-spacing:-.065em;
    font-weight:400;
}

.ot-cookie-dek{
    margin:1.8rem 0 0;
    max-width:760px;
    font-size:1.1rem;
    line-height:1.8;
    color:#333;
}

.ot-cookie-effective-date{
    margin-top:1.2rem;
    font-size:.76rem;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:#666;
}

.ot-cookie-content{
    padding:0 24px;
}

.ot-cookie-layout{
    width:min(1180px,100%);
    margin:0 auto;
    display:grid;
    grid-template-columns:250px minmax(0,1fr);
    gap:clamp(2rem,5vw,5.5rem);
}

.ot-cookie-sidebar{
    padding-top:3.5rem;
}

.ot-cookie-sidebar nav{
    position:sticky;
    top:110px;
    border-top:1px solid rgba(0,0,0,.12);
}

.ot-cookie-sidebar a{
    display:flex;
    align-items:center;
    min-height:54px;
    border-bottom:1px solid rgba(0,0,0,.12);
    text-decoration:none;
    text-transform:uppercase;
    letter-spacing:.15em;
    font-size:.64rem;
    color:#080808;
}

.ot-cookie-text{
    padding:3.5rem 0 7rem;
    max-width:860px;
}

.ot-cookie-text section{
    padding-bottom:4rem;
    margin-bottom:4rem;
    border-bottom:1px solid rgba(0,0,0,.12);
}

.ot-cookie-text h2{
    margin:0 0 1.25rem;
    font-family:"Playfair Display", Georgia, serif;
    font-size:clamp(2.2rem,4.6vw,4.4rem);
    line-height:.96;
    letter-spacing:-.055em;
    font-weight:400;
}

.ot-cookie-text p{
    margin:0 0 1.35rem;
    color:#222;
    line-height:1.85;
    font-size:1rem;
}

.ot-cookie-card-grid{
    margin-top:2rem;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    border-top:1px solid rgba(0,0,0,.12);
    border-left:1px solid rgba(0,0,0,.12);
}

.ot-cookie-card-grid article{
    padding:1.6rem;
    border-right:1px solid rgba(0,0,0,.12);
    border-bottom:1px solid rgba(0,0,0,.12);
}

.ot-cookie-card-grid h3{
    margin:0 0 .7rem;
    font-family:"Playfair Display", Georgia, serif;
    font-size:1.85rem;
    font-weight:400;
    letter-spacing:-.04em;
}

.ot-cookie-card-grid p{
    margin:0;
    color:#444;
    line-height:1.7;
    font-size:.95rem;
}

.ot-cookie-preferences-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:50px;
    padding:0 1.4rem;
    border:1px solid #080808;
    background:#080808;
    color:#fff;
    text-transform:uppercase;
    letter-spacing:.16em;
    font-size:.68rem;
    cursor:pointer;
}

.ot-cookie-declaration{
    overflow:hidden;
}

.ot-cookie-declaration #CookieDeclaration,
.ot-cookie-declaration .CookieDeclaration{
    max-width:100%;
}

@media(max-width:900px){
    .ot-cookie-layout{
        grid-template-columns:1fr;
    }

    .ot-cookie-sidebar{
        padding-top:2rem;
    }

    .ot-cookie-sidebar nav{
        position:relative;
        top:auto;
        display:grid;
        grid-template-columns:1fr 1fr;
    }

    .ot-cookie-text{
        padding-top:1rem;
    }
}

@media(max-width:640px){
    .ot-cookie-hero h1{
        font-size:clamp(3rem,16vw,5rem);
    }

    .ot-cookie-card-grid,
    .ot-cookie-sidebar nav{
        grid-template-columns:1fr;
    }
}



/* =========================================================
   OopsTime Digital Subscription Page
========================================================= */

.ot-digital-subscription-page{
    background:#fff;
    color:#080808;
}

.ot-sub-hero{
    border-bottom:1px solid rgba(0,0,0,.14);
    background:#fff;
}

.ot-sub-hero__inner{
    width:min(1320px,100%);
    margin:0 auto;
    display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);
    min-height:calc(100vh - 160px);
}

.ot-sub-hero__copy{
    padding:clamp(4rem,8vw,7rem) clamp(1.5rem,4vw,4rem);
    display:flex;
    flex-direction:column;
    justify-content:center;
    border-right:1px solid rgba(0,0,0,.14);
}

.ot-sub-eyebrow{
    margin:0 0 1rem;
    text-transform:uppercase;
    letter-spacing:.26em;
    font-size:.68rem;
    color:#777;
}

.ot-sub-hero h1{
    margin:0;
    font-family:"Playfair Display", Georgia, serif;
    font-size:clamp(4.4rem,8.4vw,9rem);
    line-height:.84;
    letter-spacing:-.075em;
    font-weight:400;
    max-width:920px;
}

.ot-sub-dek{
    margin:1.65rem 0 2rem;
    max-width:680px;
    font-size:1.05rem;
    line-height:1.85;
    color:#333;
}

.ot-sub-price-card{
    width:min(520px,100%);
    border:1px solid #080808;
    padding:1.5rem;
    background:#fff;
}

.ot-sub-offer-label,
.ot-sub-plan-badge{
    margin:0 0 .9rem;
    text-transform:uppercase;
    letter-spacing:.18em;
    font-size:.66rem;
    color:#666;
}

.ot-sub-price-row{
    display:flex;
    align-items:flex-end;
    gap:.35rem;
    margin-bottom:.65rem;
}

.ot-sub-price{
    font-family:"Playfair Display", Georgia, serif;
    font-size:clamp(4rem,7vw,6rem);
    line-height:.78;
    letter-spacing:-.06em;
}

.ot-sub-price-unit{
    padding-bottom:.45rem;
    font-size:.95rem;
    color:#333;
}

.ot-sub-renewal,
.ot-sub-fineprint{
    margin:0 0 1rem;
    color:#444;
    line-height:1.65;
    font-size:.92rem;
}

.ot-sub-fineprint{
    margin:1rem 0 0;
    font-size:.72rem;
    color:#666;
}

.ot-sub-button{
    min-height:50px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0 1.4rem;
    border:1px solid #080808;
    color:#080808;
    background:#fff;
    text-decoration:none;
    text-transform:uppercase;
    letter-spacing:.16em;
    font-size:.68rem;
}

.ot-sub-button--dark{
    background:#080808;
    color:#fff;
}

.ot-sub-hero__visual{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    min-height:660px;
    background:
        linear-gradient(90deg, rgba(0,0,0,.06) 1px, transparent 1px),
        linear-gradient(rgba(0,0,0,.06) 1px, transparent 1px);
    background-size:80px 80px;
}

.ot-sub-device{
    background:#fff;
    border:1px solid #080808;
    box-shadow:22px 22px 0 #080808;
}

.ot-sub-device--large{
    width:min(420px,70%);
    aspect-ratio:3/4.1;
    padding:1.2rem;
    transform:rotate(-2deg);
}

.ot-sub-device--small{
    position:absolute;
    right:7%;
    bottom:12%;
    width:210px;
    aspect-ratio:9/16;
    padding:1rem;
    box-shadow:14px 14px 0 #080808;
    transform:rotate(3deg);
}

.ot-sub-device__topline{
    text-transform:uppercase;
    letter-spacing:.18em;
    font-size:.62rem;
    color:#555;
    border-bottom:1px solid #080808;
    padding-bottom:.8rem;
    margin-bottom:1rem;
}

.ot-sub-device__cover{
    height:calc(100% - 3.5rem);
    display:flex;
    align-items:flex-end;
    justify-content:center;
    padding:1.1rem;
    background:
        linear-gradient(135deg, #111 0 48%, #fff 48% 52%, #111 52% 100%);
    color:#fff;
}

.ot-sub-device__cover span{
    font-family:"Playfair Display", Georgia, serif;
    font-size:2.4rem;
    line-height:.92;
    letter-spacing:-.06em;
    text-align:center;
    mix-blend-mode:difference;
}

.ot-sub-device__article{
    height:86px;
    border:1px solid #080808;
    margin-bottom:1rem;
    background:linear-gradient(90deg,#080808 0 38%,#fff 38%);
}

.ot-sub-device__article--short{
    height:56px;
}

.ot-sub-plans,
.ot-sub-faq{
    width:min(1220px,100%);
    margin:0 auto;
    padding:clamp(4rem,8vw,7rem) 24px;
}

.ot-sub-section-head{
    display:flex;
    justify-content:space-between;
    gap:2rem;
    align-items:end;
    border-bottom:1px solid rgba(0,0,0,.16);
    padding-bottom:1.5rem;
    margin-bottom:2rem;
}

.ot-sub-section-head h2,
.ot-sub-benefits__copy h2,
.ot-sub-bottom-cta h2{
    margin:0;
    font-family:"Playfair Display", Georgia, serif;
    font-size:clamp(3rem,6vw,6rem);
    line-height:.9;
    letter-spacing:-.065em;
    font-weight:400;
}

.ot-sub-plan-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    border-top:1px solid #080808;
    border-left:1px solid #080808;
}

.ot-sub-plan{
    border-right:1px solid #080808;
    border-bottom:1px solid #080808;
    padding:2rem;
    display:flex;
    flex-direction:column;
    min-height:520px;
}

.ot-sub-plan--featured{
    background:#080808;
    color:#fff;
}

.ot-sub-plan--featured .ot-sub-plan-badge,
.ot-sub-plan--featured li,
.ot-sub-plan--featured .ot-sub-plan-price span{
    color:rgba(255,255,255,.72);
}

.ot-sub-plan--featured .ot-sub-button{
    border-color:#fff;
    background:#fff;
    color:#080808;
}

.ot-sub-plan h3{
    margin:0 0 1.2rem;
    font-family:"Playfair Display", Georgia, serif;
    font-size:clamp(2.4rem,4vw,4rem);
    line-height:.92;
    letter-spacing:-.055em;
    font-weight:400;
}

.ot-sub-plan-price{
    margin:0 0 1.6rem;
    font-family:"Playfair Display", Georgia, serif;
    font-size:3.4rem;
    line-height:1;
    letter-spacing:-.055em;
}

.ot-sub-plan-price span{
    font-family:inherit;
    font-size:.95rem;
    color:#555;
    letter-spacing:0;
}

.ot-sub-plan ul{
    list-style:none;
    padding:0;
    margin:0 0 2rem;
}

.ot-sub-plan li{
    padding:1rem 0;
    border-top:1px solid rgba(0,0,0,.14);
    color:#333;
    line-height:1.55;
}

.ot-sub-plan--featured li{
    border-top-color:rgba(255,255,255,.2);
}

.ot-sub-plan .ot-sub-button{
    margin-top:auto;
}

.ot-sub-benefits{
    display:grid;
    grid-template-columns:1fr 1fr;
    border-top:1px solid #080808;
    border-bottom:1px solid #080808;
}

.ot-sub-benefits__media{
    min-height:620px;
    background:#080808;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
}

.ot-sub-editorial-stack{
    position:relative;
    width:420px;
    height:520px;
}

.ot-sub-editorial-stack span{
    position:absolute;
    inset:0;
    background:#fff;
    border:1px solid #fff;
}

.ot-sub-editorial-stack span:nth-child(1){
    transform:rotate(-7deg) translate(-24px,18px);
    opacity:.4;
}

.ot-sub-editorial-stack span:nth-child(2){
    transform:rotate(4deg) translate(28px,-8px);
    opacity:.7;
}

.ot-sub-editorial-stack span:nth-child(3){
    transform:rotate(-1deg);
    background:
        linear-gradient(#080808 0 18%, #fff 18% 20%, #080808 20% 42%, #fff 42% 45%, #080808 45% 100%);
}

.ot-sub-benefits__copy{
    padding:clamp(3rem,6vw,6rem);
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.ot-sub-benefit-list{
    margin-top:2rem;
    border-top:1px solid rgba(0,0,0,.16);
}

.ot-sub-benefit-list div{
    padding:1.25rem 0;
    border-bottom:1px solid rgba(0,0,0,.16);
}

.ot-sub-benefit-list h3{
    margin:0 0 .4rem;
    font-family:"Playfair Display", Georgia, serif;
    font-size:2rem;
    font-weight:400;
    letter-spacing:-.04em;
}

.ot-sub-benefit-list p{
    margin:0;
    color:#444;
    line-height:1.7;
}

.ot-sub-faq-list{
    border-top:1px solid #080808;
}

.ot-sub-faq-list details{
    border-bottom:1px solid #080808;
    padding:1.4rem 0;
}

.ot-sub-faq-list summary{
    cursor:pointer;
    font-family:"Playfair Display", Georgia, serif;
    font-size:clamp(1.8rem,3vw,3rem);
    line-height:1;
    letter-spacing:-.045em;
    list-style:none;
}

.ot-sub-faq-list summary::-webkit-details-marker{
    display:none;
}

.ot-sub-faq-list p{
    max-width:760px;
    margin:1rem 0 0;
    line-height:1.75;
    color:#444;
}

.ot-sub-bottom-cta{
    padding:clamp(4rem,8vw,7rem) 24px;
    text-align:center;
    border-top:1px solid rgba(0,0,0,.14);
}

.ot-sub-bottom-cta h2{
    max-width:900px;
    margin:0 auto 2rem;
}

@media(max-width:980px){
    .ot-sub-hero__inner,
    .ot-sub-benefits{
        grid-template-columns:1fr;
    }

    .ot-sub-hero__copy{
        border-right:0;
        border-bottom:1px solid rgba(0,0,0,.14);
    }

    .ot-sub-hero__visual{
        min-height:520px;
    }

    .ot-sub-plan-grid{
        grid-template-columns:1fr;
    }

    .ot-sub-plan{
        min-height:auto;
    }
}

@media(max-width:640px){
    .ot-sub-hero h1{
        font-size:clamp(3.5rem,16vw,5.4rem);
    }

    .ot-sub-section-head{
        display:block;
    }

    .ot-sub-device--small{
        display:none;
    }

    .ot-sub-device--large{
        width:78%;
    }
}



/* =========================================================
   OopsTime Digital Subscription Visual Refinement
========================================================= */

/* Black sections must always use white typography */
.ot-sub-plan--featured,
.ot-sub-benefits__media,
.ot-sub-editorial-stack,
.ot-sub-device__cover{
    color:#fff !important;
}

.ot-sub-plan--featured h3,
.ot-sub-plan--featured .ot-sub-plan-price,
.ot-sub-plan--featured .ot-sub-offer-label,
.ot-sub-plan--featured .ot-sub-plan-badge,
.ot-sub-plan--featured li,
.ot-sub-plan--featured p,
.ot-sub-plan--featured span{
    color:#fff !important;
}

.ot-sub-plan--featured li{
    border-top-color:rgba(255,255,255,.22) !important;
}

.ot-sub-plan--featured .ot-sub-button{
    background:#fff !important;
    color:#080808 !important;
    border-color:#fff !important;
}

/* White sections stay black */
.ot-sub-plan:not(.ot-sub-plan--featured),
.ot-sub-plan:not(.ot-sub-plan--featured) h3,
.ot-sub-plan:not(.ot-sub-plan--featured) p,
.ot-sub-plan:not(.ot-sub-plan--featured) li,
.ot-sub-plan:not(.ot-sub-plan--featured) span{
    color:#080808 !important;
}

/* Editorial visual gallery */
.ot-sub-editorial-gallery{
    background:#fff;
    border-bottom:1px solid rgba(0,0,0,.14);
    padding:clamp(4rem,7vw,6.5rem) 24px;
}

.ot-sub-gallery__inner{
    width:min(1220px,100%);
    margin:0 auto;
}

.ot-sub-gallery__intro{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:2rem;
    padding-bottom:1.5rem;
    border-bottom:1px solid rgba(0,0,0,.16);
    margin-bottom:2rem;
}

.ot-sub-gallery__intro h2{
    max-width:760px;
    margin:0;
    font-family:"Playfair Display", Georgia, serif;
    font-size:clamp(2.8rem,5.4vw,5.8rem);
    line-height:.9;
    letter-spacing:-.065em;
    font-weight:400;
}

.ot-sub-gallery__grid{
    display:grid;
    grid-template-columns:1.1fr .95fr .95fr;
    gap:1px;
    background:#080808;
    border:1px solid #080808;
}

.ot-sub-gallery-card{
    margin:0;
    background:#fff;
    min-height:520px;
    display:flex;
    flex-direction:column;
}

.ot-sub-gallery-card--cover{
    min-height:680px;
}

.ot-sub-gallery-card__image{
    flex:1;
    min-height:420px;
    background-size:cover;
    background-position:center;
    position:relative;
    overflow:hidden;
}

/* These are abstract editorial cover treatments, not Vogue assets. Replace with licensed OopsTime images later. */
.ot-sub-gallery-card:nth-child(1) .ot-sub-gallery-card__image{
    background:
        linear-gradient(135deg, rgba(0,0,0,.15), rgba(0,0,0,.05)),
        radial-gradient(circle at 40% 28%, #f4f4f4 0 18%, transparent 18%),
        linear-gradient(120deg, #111 0 34%, #fff 34% 37%, #cfcfcf 37% 100%);
}

.ot-sub-gallery-card:nth-child(2) .ot-sub-gallery-card__image{
    background:
        linear-gradient(180deg, rgba(255,255,255,.18), rgba(0,0,0,.2)),
        linear-gradient(90deg, #f6f6f6 0 38%, #181818 38% 62%, #d8d8d8 62% 100%);
}

.ot-sub-gallery-card:nth-child(3) .ot-sub-gallery-card__image{
    background:
        linear-gradient(135deg, rgba(0,0,0,.08), rgba(255,255,255,.24)),
        repeating-linear-gradient(90deg, #fff 0 46px, #111 46px 48px, #efefef 48px 94px);
}

.ot-sub-gallery-card figcaption{
    min-height:74px;
    padding:1.1rem 1.25rem;
    border-top:1px solid rgba(0,0,0,.14);
    text-transform:uppercase;
    letter-spacing:.16em;
    font-size:.68rem;
    color:#080808;
    display:flex;
    align-items:center;
}

/* Stronger contrast for device visuals */
.ot-sub-device__cover span{
    color:#fff !important;
    text-shadow:0 8px 28px rgba(0,0,0,.4);
}

@media(max-width:980px){
    .ot-sub-gallery__intro{
        display:block;
    }

    .ot-sub-gallery__grid{
        grid-template-columns:1fr;
    }

    .ot-sub-gallery-card,
    .ot-sub-gallery-card--cover{
        min-height:520px;
    }
}

@media(max-width:640px){
    .ot-sub-editorial-gallery{
        padding:3.5rem 18px;
    }

    .ot-sub-gallery-card,
    .ot-sub-gallery-card--cover{
        min-height:420px;
    }

    .ot-sub-gallery-card__image{
        min-height:330px;
    }
}



/* =========================================================
   OopsTime Digital Subscription — Real Editorial Image Experience
========================================================= */

/* Hero visual: make it feel like a luxury magazine campaign */
.ot-sub-hero__visual{
    background:
        linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.05)),
        url("https://images.unsplash.com/photo-1529139574466-a303027c1d8b?auto=format&fit=crop&w=1600&q=85") center/cover no-repeat !important;
}

.ot-sub-hero__visual:after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(90deg, rgba(255,255,255,.18), rgba(255,255,255,.02));
    pointer-events:none;
}

.ot-sub-device{
    position:relative;
    z-index:2;
}

/* Device cover with real editorial photography */
.ot-sub-device__cover{
    background:
        linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.38)),
        url("https://images.unsplash.com/photo-1515886657613-9f3515b0c78f?auto=format&fit=crop&w=900&q=85") center/cover no-repeat !important;
}

.ot-sub-device__article:nth-child(2){
    background:
        linear-gradient(90deg, rgba(0,0,0,.22), rgba(0,0,0,.04)),
        url("https://images.unsplash.com/photo-1512496015851-a90fb38ba796?auto=format&fit=crop&w=600&q=80") center/cover no-repeat !important;
}

.ot-sub-device__article:nth-child(3){
    background:
        linear-gradient(90deg, rgba(0,0,0,.18), rgba(0,0,0,.04)),
        url("https://images.unsplash.com/photo-1522335789203-aabd1fc54bc9?auto=format&fit=crop&w=600&q=80") center/cover no-repeat !important;
}

.ot-sub-device__article:nth-child(4){
    background:
        linear-gradient(90deg, rgba(0,0,0,.20), rgba(0,0,0,.04)),
        url("https://images.unsplash.com/photo-1509631179647-0177331693ae?auto=format&fit=crop&w=600&q=80") center/cover no-repeat !important;
}

/* Replace abstract gallery visuals with living editorial imagery */
.ot-sub-gallery-card:nth-child(1) .ot-sub-gallery-card__image{
    background:
        linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.22)),
        url("https://images.unsplash.com/photo-1496747611176-843222e1e57c?auto=format&fit=crop&w=1200&q=85") center/cover no-repeat !important;
}

.ot-sub-gallery-card:nth-child(2) .ot-sub-gallery-card__image{
    background:
        linear-gradient(180deg, rgba(0,0,0,.04), rgba(0,0,0,.18)),
        url("https://images.unsplash.com/photo-1483985988355-763728e1935b?auto=format&fit=crop&w=1200&q=85") center/cover no-repeat !important;
}

.ot-sub-gallery-card:nth-child(3) .ot-sub-gallery-card__image{
    background:
        linear-gradient(180deg, rgba(0,0,0,.02), rgba(0,0,0,.16)),
        url("https://images.unsplash.com/photo-1522337360788-8b13dee7a37e?auto=format&fit=crop&w=1200&q=85") center/cover no-repeat !important;
}

.ot-sub-gallery-card figcaption{
    background:#fff;
}

/* New subscriber experience section */
.ot-sub-gift-selection{
    background:#fff;
    padding:clamp(4rem,7vw,6.5rem) 24px;
    border-bottom:1px solid rgba(0,0,0,.14);
}

.ot-sub-gift__head{
    width:min(1120px,100%);
    margin:0 auto 2.5rem;
    text-align:center;
}

.ot-sub-gift__head h2{
    max-width:920px;
    margin:0 auto 1rem;
    font-family:"Playfair Display", Georgia, serif;
    font-size:clamp(3rem,6vw,6.4rem);
    line-height:.9;
    letter-spacing:-.065em;
    font-weight:400;
}

.ot-sub-gift__head p{
    max-width:680px;
    margin:0 auto;
    color:#444;
    line-height:1.75;
    font-size:1.02rem;
}

.ot-sub-gift-grid{
    width:min(1180px,100%);
    margin:0 auto;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:clamp(1.5rem,3vw,2.5rem);
}

.ot-sub-gift-grid article{
    text-align:center;
}

.ot-sub-gift-image{
    width:100%;
    aspect-ratio:1/1;
    background-size:cover;
    background-position:center;
    margin-bottom:1.2rem;
    border:1px solid rgba(0,0,0,.14);
}

.ot-sub-gift-image--one{
    background-image:url("https://images.unsplash.com/photo-1596462502278-27bfdc403348?auto=format&fit=crop&w=900&q=85");
}

.ot-sub-gift-image--two{
    background-image:url("https://images.unsplash.com/photo-1512436991641-6745cdb1723f?auto=format&fit=crop&w=900&q=85");
}

.ot-sub-gift-image--three{
    background-image:url("https://images.unsplash.com/photo-1519671482749-fd09be7ccebf?auto=format&fit=crop&w=900&q=85");
}

.ot-sub-gift-grid h3{
    margin:0 0 .65rem;
    font-family:"Playfair Display", Georgia, serif;
    font-size:clamp(2rem,3.4vw,3rem);
    line-height:.95;
    letter-spacing:-.05em;
    font-weight:400;
}

.ot-sub-gift-grid p{
    max-width:320px;
    margin:0 auto;
    color:#444;
    line-height:1.65;
    font-size:.95rem;
}

/* Keep black/white typography rules correct */
.ot-sub-plan--featured,
.ot-sub-plan--featured h3,
.ot-sub-plan--featured .ot-sub-plan-price,
.ot-sub-plan--featured .ot-sub-offer-label,
.ot-sub-plan--featured .ot-sub-plan-badge,
.ot-sub-plan--featured li,
.ot-sub-plan--featured p,
.ot-sub-plan--featured span{
    color:#fff !important;
}

.ot-sub-plan--featured .ot-sub-button{
    background:#fff !important;
    color:#080808 !important;
    border-color:#fff !important;
}

@media(max-width:980px){
    .ot-sub-gift-grid{
        grid-template-columns:1fr;
        max-width:620px;
    }
}

@media(max-width:640px){
    .ot-sub-gift-selection{
        padding:3.5rem 18px;
    }
}



/* =========================================================
   OopsTime Subscription Included Section — Real Image Fix
========================================================= */

.ot-sub-benefits__media.ot-sub-benefits__media--real{
    background:#080808 !important;
    min-height:640px !important;
    padding:clamp(2rem,4vw,4rem) !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
}

.ot-sub-benefits__media--real .ot-sub-editorial-stack{
    display:none !important;
}

.ot-sub-benefits-photo-grid{
    width:min(620px,100%);
    display:grid;
    grid-template-columns:1fr 1fr;
    grid-template-rows:260px 260px;
    gap:18px;
}

.ot-sub-benefits-photo{
    margin:0;
    background-size:cover;
    background-position:center;
    border:8px solid #fff;
    box-shadow:0 24px 60px rgba(0,0,0,.35);
}

.ot-sub-benefits-photo--large{
    grid-row:1 / span 2;
    background-linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.18)),
        url("https://images.unsplash.com/photo-1524504388940-b1c1722653e1?auto=format&fit=crop&w=1200&q=85");
}

.ot-sub-benefits-photo--small-one{
    background-linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.16)),
        url("https://images.unsplash.com/photo-1522335789203-aabd1fc54bc9?auto=format&fit=crop&w=900&q=85");
}

.ot-sub-benefits-photo--small-two{
    background-linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.16)),
        url("https://images.unsplash.com/photo-1596462502278-27bfdc403348?auto=format&fit=crop&w=900&q=85");
}

@media(max-width:780px){
    .ot-sub-benefits-photo-grid{
        grid-template-columns:1fr;
        grid-template-rows:auto;
    }

    .ot-sub-benefits-photo,
    .ot-sub-benefits-photo--large{
        grid-row:auto;
        min-height:320px;
    }
}



/* =========================================================
   OopsTime Newsletter Page
========================================================= */

.ot-newsletter-page{
    background:#fff;
    color:#080808;
}

.ot-newsletter-eyebrow{
    margin:0 0 1rem;
    text-transform:uppercase;
    letter-spacing:.26em;
    font-size:.68rem;
    color:#777;
}

.ot-newsletter-hero{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(420px,.9fr);
    min-height:calc(100vh - 160px);
    border-bottom:1px solid rgba(0,0,0,.14);
}

.ot-newsletter-hero__image{
    min-height:620px;
    background:
        linear-gradient(180deg,rgba(0,0,0,.03),rgba(0,0,0,.16)),
        url("https://images.unsplash.com/photo-1483985988355-763728e1935b?auto=format&fit=crop&w=1600&q=85") center/cover no-repeat;
}

.ot-newsletter-hero__content{
    padding:clamp(4rem,8vw,7rem) clamp(1.5rem,5vw,5rem);
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.ot-newsletter-hero h1{
    margin:0;
    font-family:"Playfair Display", Georgia, serif;
    font-size:clamp(4.2rem,8vw,8rem);
    line-height:.84;
    letter-spacing:-.075em;
    font-weight:400;
}

.ot-newsletter-dek{
    margin:1.5rem 0 2rem;
    max-width:640px;
    font-size:1.05rem;
    line-height:1.8;
    color:#333;
}

.ot-newsletter-signup{
    width:min(620px,100%);
}

.ot-newsletter-signup input,
.ot-newsletter-card-form input{
    width:100%;
    min-height:54px;
    border:1px solid #cfcfcf;
    border-radius:0;
    padding:0 1rem;
    background:#fff;
    color:#080808;
    font-size:.95rem;
    outline:none;
}

.ot-newsletter-signup input:focus,
.ot-newsletter-card-form input:focus{
    border-color:#080808;
}

.ot-newsletter-signup button,
.ot-newsletter-card-form button{
    min-height:54px;
    border:1px solid #080808;
    border-radius:0;
    background:#080808;
    color:#fff;
    padding:0 1.4rem;
    text-transform:uppercase;
    letter-spacing:.16em;
    font-size:.68rem;
    cursor:pointer;
}

.ot-newsletter-signup--hero{
    display:grid;
    grid-template-columns:minmax(0,1fr) 170px;
}

.ot-newsletter-signup--hero p,
.ot-newsletter-signup--bottom p{
    grid-column:1/-1;
    margin:.85rem 0 0;
    color:#777;
    font-size:.72rem;
    line-height:1.6;
    text-transform:uppercase;
    letter-spacing:.12em;
}

.ot-newsletter-editors{
    width:min(1220px,100%);
    margin:0 auto;
    padding:clamp(4rem,8vw,7rem) 24px;
}

.ot-newsletter-section-head{
    display:flex;
    justify-content:space-between;
    gap:2rem;
    align-items:flex-end;
    padding-bottom:1.5rem;
    margin-bottom:2rem;
    border-bottom:1px solid rgba(0,0,0,.14);
}

.ot-newsletter-section-head h2{
    max-width:820px;
    margin:0;
    font-family:"Playfair Display", Georgia, serif;
    font-size:clamp(3rem,6vw,6.2rem);
    line-height:.9;
    letter-spacing:-.065em;
    font-weight:400;
}

.ot-newsletter-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    border-top:1px solid #080808;
    border-left:1px solid #080808;
}

.ot-newsletter-card{
    display:grid;
    grid-template-columns:.88fr 1fr;
    min-height:420px;
    border-right:1px solid #080808;
    border-bottom:1px solid #080808;
    background:#fff;
}

.ot-newsletter-card__image{
    background-size:cover;
    background-position:center;
    border-right:1px solid #080808;
}

.ot-newsletter-card__image--fashion{
    background-image:url("https://images.unsplash.com/photo-1496747611176-843222e1e57c?auto=format&fit=crop&w=900&q=85");
}

.ot-newsletter-card__image--beauty{
    background-image:url("https://images.unsplash.com/photo-1522335789203-aabd1fc54bc9?auto=format&fit=crop&w=900&q=85");
}

.ot-newsletter-card__image--culture{
    background-image:url("https://images.unsplash.com/photo-1519671482749-fd09be7ccebf?auto=format&fit=crop&w=900&q=85");
}

.ot-newsletter-card__image--shopping{
    background-image:url("https://images.unsplash.com/photo-1512436991641-6745cdb1723f?auto=format&fit=crop&w=900&q=85");
}

.ot-newsletter-card__body{
    padding:2rem;
    display:flex;
    flex-direction:column;
}

.ot-newsletter-card__label{
    margin:0 0 1rem;
    color:#777;
    text-transform:uppercase;
    letter-spacing:.18em;
    font-size:.64rem;
}

.ot-newsletter-card h3{
    margin:0 0 1rem;
    font-family:"Playfair Display", Georgia, serif;
    font-size:clamp(2.4rem,4vw,4rem);
    line-height:.92;
    letter-spacing:-.06em;
    font-weight:400;
}

.ot-newsletter-card p{
    color:#333;
    line-height:1.7;
}

.ot-newsletter-card-form{
    margin-top:auto;
    display:grid;
    grid-template-columns:1fr;
    gap:.75rem;
}

.ot-newsletter-feature{
    display:grid;
    grid-template-columns:1fr 1fr;
    border-top:1px solid #080808;
    border-bottom:1px solid #080808;
}

.ot-newsletter-feature__copy{
    padding:clamp(4rem,7vw,7rem);
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.ot-newsletter-feature__copy h2,
.ot-newsletter-bottom h2{
    margin:0;
    font-family:"Playfair Display", Georgia, serif;
    font-size:clamp(3.4rem,7vw,7rem);
    line-height:.86;
    letter-spacing:-.075em;
    font-weight:400;
}

.ot-newsletter-feature__copy p:not(.ot-newsletter-eyebrow){
    max-width:620px;
    margin:1.4rem 0 0;
    color:#333;
    line-height:1.85;
    font-size:1.04rem;
}

.ot-newsletter-feature__image{
    min-height:620px;
    background:
        linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.20)),
        url("https://images.unsplash.com/photo-1524504388940-b1c1722653e1?auto=format&fit=crop&w=1400&q=85") center/cover no-repeat;
}

.ot-newsletter-bottom{
    text-align:center;
    padding:clamp(4rem,8vw,7rem) 24px;
}

.ot-newsletter-bottom h2{
    max-width:860px;
    margin:0 auto 2rem;
}

.ot-newsletter-signup--bottom{
    margin:0 auto;
    display:grid;
    grid-template-columns:minmax(0,1fr) 170px;
}

@media(max-width:1050px){
    .ot-newsletter-hero,
    .ot-newsletter-feature{
        grid-template-columns:1fr;
    }

    .ot-newsletter-hero__image{
        order:2;
    }

    .ot-newsletter-grid{
        grid-template-columns:1fr;
    }
}

@media(max-width:720px){
    .ot-newsletter-hero h1{
        font-size:clamp(3.5rem,15vw,5.5rem);
    }

    .ot-newsletter-section-head{
        display:block;
    }

    .ot-newsletter-card{
        grid-template-columns:1fr;
    }

    .ot-newsletter-card__image{
        min-height:320px;
        border-right:0;
        border-bottom:1px solid #080808;
    }

    .ot-newsletter-signup--hero,
    .ot-newsletter-signup--bottom{
        grid-template-columns:1fr;
    }

    .ot-newsletter-signup button{
        margin-top:.75rem;
    }
}



/* =========================================================
   OopsTime Advertising Page
========================================================= */

.ot-advertising-page{
    background:#fff;
    color:#050505;
}

.ot-ad-eyebrow{
    margin:0 0 1rem;
    text-transform:uppercase;
    letter-spacing:.26em;
    font-size:.68rem;
    color:#777;
}

.ot-ad-hero{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(420px,.88fr);
    min-height:calc(100vh - 170px);
    border-bottom:1px solid rgba(0,0,0,.16);
    background:#fff;
}

.ot-ad-hero__copy{
    padding:clamp(4rem,8vw,7rem) clamp(1.5rem,6vw,6rem);
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.ot-ad-hero h1{
    margin:0;
    max-width:880px;
    font-family:"Playfair Display", Georgia, serif;
    font-size:clamp(4.5rem,9vw,9rem);
    line-height:.84;
    letter-spacing:-.075em;
    font-weight:400;
}

.ot-ad-hero p:not(.ot-ad-eyebrow){
    max-width:640px;
    margin:1.6rem 0 0;
    color:#333;
    font-size:1.05rem;
    line-height:1.85;
}

.ot-ad-hero__image{
    min-height:620px;
    background:
        linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.18)),
        url("https://images.unsplash.com/photo-1497215728101-856f4ea42174?auto=format&fit=crop&w=1500&q=85") center/cover no-repeat;
    border-left:1px solid rgba(0,0,0,.16);
}

.ot-ad-actions{
    display:flex;
    gap:.75rem;
    flex-wrap:wrap;
    margin-top:2.2rem;
}

.ot-ad-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:52px;
    padding:0 1.4rem;
    border:1px solid #050505;
    text-transform:uppercase;
    letter-spacing:.16em;
    font-size:.68rem;
    text-decoration:none;
    transition:background .2s ease,color .2s ease;
}

.ot-ad-button--dark{
    background:#050505;
    color:#fff;
}

.ot-ad-button--dark:hover{
    background:#333;
    color:#fff;
}

.ot-ad-button--light{
    background:#fff;
    color:#050505;
}

.ot-ad-button--light:hover{
    background:#050505;
    color:#fff;
}

.ot-ad-intro{
    width:min(1240px,100%);
    margin:0 auto;
    padding:clamp(4rem,7vw,7rem) 24px;
    display:grid;
    grid-template-columns:260px minmax(0,1fr);
    gap:clamp(2rem,5vw,6rem);
    border-bottom:1px solid rgba(0,0,0,.16);
}

.ot-ad-intro h2,
.ot-ad-split__copy h2,
.ot-ad-final h2{
    margin:0;
    font-family:"Playfair Display", Georgia, serif;
    font-weight:400;
    letter-spacing:-.06em;
}

.ot-ad-intro h2{
    max-width:980px;
    font-size:clamp(3rem,6.8vw,7.2rem);
    line-height:.88;
}

.ot-ad-intro p{
    max-width:760px;
    margin:1.4rem 0 0;
    color:#333;
    line-height:1.8;
    font-size:1.02rem;
}

.ot-ad-cards{
    width:min(1240px,100%);
    margin:0 auto;
    padding:0 24px clamp(4rem,7vw,7rem);
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
}

.ot-ad-cards article{
    min-height:290px;
    padding:2rem;
    border-right:1px solid #050505;
    border-bottom:1px solid #050505;
}

.ot-ad-cards article:first-child{
    border-left:1px solid #050505;
}

.ot-ad-cards span{
    display:block;
    margin-bottom:4rem;
    color:#777;
    font-size:.72rem;
    letter-spacing:.18em;
}

.ot-ad-cards h3{
    margin:0 0 1rem;
    font-family:"Playfair Display", Georgia, serif;
    font-size:clamp(2rem,3vw,3rem);
    font-weight:400;
    letter-spacing:-.05em;
    line-height:1;
}

.ot-ad-cards p{
    margin:0;
    color:#333;
    line-height:1.7;
}

.ot-ad-split{
    display:grid;
    grid-template-columns:1fr 1fr;
    border-top:1px solid #050505;
    border-bottom:1px solid #050505;
}

.ot-ad-split__image{
    min-height:620px;
    background:
        linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.10)),
        url("https://images.unsplash.com/photo-1551836022-d5d88e9218df?auto=format&fit=crop&w=1500&q=85") center/cover no-repeat;
}

.ot-ad-split__copy{
    padding:clamp(4rem,7vw,7rem);
    display:flex;
    flex-direction:column;
    justify-content:center;
    border-left:1px solid #050505;
}

.ot-ad-split__copy h2{
    font-size:clamp(3.2rem,6.5vw,6.8rem);
    line-height:.88;
}

.ot-ad-split__copy > p:not(.ot-ad-eyebrow){
    max-width:620px;
    margin:1.4rem 0 0;
    color:#333;
    line-height:1.8;
}

.ot-ad-contact-box{
    margin-top:2.4rem;
    padding-top:1.5rem;
    border-top:1px solid rgba(0,0,0,.18);
}

.ot-ad-contact-box p{
    margin:0 0 .5rem;
    text-transform:uppercase;
    letter-spacing:.18em;
    color:#777;
    font-size:.7rem;
}

.ot-ad-contact-box a,
.ot-ad-final a{
    color:#050505;
    text-decoration:none;
    border-bottom:1px solid #050505;
}

.ot-ad-final{
    width:min(1040px,100%);
    margin:0 auto;
    padding:clamp(4rem,8vw,8rem) 24px;
    text-align:center;
}

.ot-ad-final h2{
    font-size:clamp(3rem,6.8vw,7rem);
    line-height:.88;
    max-width:980px;
    margin:0 auto 2rem;
}

.ot-ad-final a{
    font-size:1rem;
    letter-spacing:.04em;
}

@media(max-width:1050px){
    .ot-ad-hero,
    .ot-ad-split{
        grid-template-columns:1fr;
    }

    .ot-ad-hero__image,
    .ot-ad-split__copy{
        border-left:0;
    }

    .ot-ad-intro{
        grid-template-columns:1fr;
    }

    .ot-ad-cards{
        grid-template-columns:1fr;
    }

    .ot-ad-cards article{
        border-left:1px solid #050505;
    }
}

@media(max-width:720px){
    .ot-ad-hero h1{
        font-size:clamp(3.6rem,17vw,5.8rem);
    }

    .ot-ad-actions{
        flex-direction:column;
    }

    .ot-ad-button{
        width:100%;
    }

    .ot-ad-hero__image,
    .ot-ad-split__image{
        min-height:420px;
    }
}



/* =========================================================
   OopsTime User Agreement / Legal Page
========================================================= */

.ot-legal-page{
    background:#fff;
    color:#050505;
}

.ot-legal-hero{
    width:min(1180px,100%);
    margin:0 auto;
    padding:clamp(4rem,8vw,7rem) 24px clamp(2.5rem,5vw,4rem);
    border-bottom:1px solid rgba(0,0,0,.16);
}

.ot-legal-eyebrow{
    margin:0 0 1rem;
    text-transform:uppercase;
    letter-spacing:.26em;
    font-size:.68rem;
    color:#777;
}

.ot-legal-hero h1{
    margin:0;
    font-family:"Playfair Display", Georgia, serif;
    font-size:clamp(4.2rem,10vw,10rem);
    line-height:.84;
    letter-spacing:-.075em;
    font-weight:400;
}

.ot-legal-hero p:not(.ot-legal-eyebrow){
    margin:1.5rem 0 0;
    color:#444;
    letter-spacing:.02em;
}

.ot-legal-layout{
    width:min(1180px,100%);
    margin:0 auto;
    padding:clamp(3rem,6vw,5rem) 24px clamp(5rem,8vw,8rem);
    display:grid;
    grid-template-columns:260px minmax(0,1fr);
    gap:clamp(2rem,5vw,5rem);
}

.ot-legal-nav{
    position:sticky;
    top:120px;
    align-self:start;
    border-top:1px solid #050505;
}

.ot-legal-nav a{
    display:block;
    padding:.9rem 0;
    border-bottom:1px solid rgba(0,0,0,.14);
    color:#050505;
    text-decoration:none;
    text-transform:uppercase;
    letter-spacing:.14em;
    font-size:.68rem;
}

.ot-legal-content{
    max-width:820px;
}

.ot-legal-content section{
    padding-bottom:2.2rem;
    margin-bottom:2.2rem;
    border-bottom:1px solid rgba(0,0,0,.14);
}

.ot-legal-content h2{
    margin:0 0 1rem;
    font-family:"Playfair Display", Georgia, serif;
    font-size:clamp(2rem,3.4vw,3.3rem);
    line-height:1;
    letter-spacing:-.045em;
    font-weight:400;
}

.ot-legal-content p{
    margin:0 0 1rem;
    color:#222;
    font-size:1rem;
    line-height:1.85;
}

.ot-legal-content a{
    color:#050505;
    text-decoration:underline;
    text-underline-offset:3px;
}

@media(max-width:900px){
    .ot-legal-layout{
        grid-template-columns:1fr;
    }

    .ot-legal-nav{
        position:relative;
        top:auto;
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:0 1.5rem;
    }
}

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



/* =========================================================
   OopsTime Mobile Magazine Experience — FINAL
   Inspired by premium editorial mobile layouts
========================================================= */

@media (max-width: 900px) {
    html, body {
        width:100%;
        overflow-x:hidden;
        background:#fff;
    }

    .container {
        width:100% !important;
        max-width:100% !important;
        padding-left:18px !important;
        padding-right:18px !important;
    }

    #site-header {
        position:sticky;
        top:0;
        z-index:300;
        background:#fff;
        border-bottom:1px solid rgba(0,0,0,.12);
    }

    .utility-bar {
        height:32px !important;
        min-height:32px !important;
        background:#f7f6f4 !important;
        border-bottom:1px solid rgba(0,0,0,.08) !important;
        display:flex !important;
        align-items:center !important;
    }

    .utility-bar__inner {
        min-height:32px !important;
        justify-content:center !important;
        padding:0 14px !important;
    }

    .utility-bar__links {
        display:flex !important;
        gap:22px !important;
        margin:0 !important;
        padding:0 !important;
        justify-content:center !important;
        width:100% !important;
    }

    .utility-bar__links a {
        font-size:10px !important;
        letter-spacing:.22em !important;
        text-transform:uppercase !important;
        color:#777 !important;
        line-height:32px !important;
    }

    .nav-bar {
        min-height:74px !important;
        background:#fff !important;
        border-bottom:none !important;
    }

    .nav-bar__inner {
        min-height:74px !important;
        display:grid !important;
        grid-template-columns:1fr auto !important;
        gap:12px !important;
        align-items:center !important;
        padding:0 18px !important;
    }

    .site-logo {
        justify-self:start !important;
        max-width:190px !important;
    }

    .site-logo img {
        height:42px !important;
        max-width:180px !important;
        width:auto !important;
        filter:brightness(0) !important;
    }

    .primary-nav,
    .hide-mobile,
    .nav-subscribe {
        display:none !important;
    }

    .nav-actions {
        justify-self:end !important;
        display:flex !important;
        align-items:center !important;
        gap:14px !important;
        margin:0 !important;
    }

    .mobile-menu-toggle {
        display:flex !important;
        width:42px !important;
        height:42px !important;
        align-items:center !important;
        justify-content:center !important;
        color:#080808 !important;
        background:transparent !important;
        border:0 !important;
        padding:0 !important;
    }

    .mobile-menu-toggle svg,
    .mobile-menu-toggle i {
        width:27px !important;
        height:27px !important;
        stroke:#080808 !important;
        color:#080808 !important;
    }

    body.mobile-menu-open {
        overflow:hidden !important;
    }

    .mobile-menu {
        position:fixed !important;
        inset:0 !important;
        z-index:10000 !important;
        width:100vw !important;
        height:100vh !important;
        background:rgba(0,0,0,.36) !important;
        display:block !important;
        opacity:0 !important;
        visibility:hidden !important;
        pointer-events:none !important;
        transition:opacity .25s ease, visibility .25s ease !important;
        overflow:hidden !important;
    }

    .mobile-menu.is-open {
        opacity:1 !important;
        visibility:visible !important;
        pointer-events:auto !important;
    }

    .mobile-menu::before {
        content:"";
        position:absolute;
        top:0;
        right:0;
        bottom:0;
        width:min(88vw, 430px);
        background:#fff;
        box-shadow:-20px 0 60px rgba(0,0,0,.18);
        transform:translateX(100%);
        transition:transform .32s ease;
    }

    .mobile-menu.is-open::before {
        transform:translateX(0);
    }

    .mobile-menu__header,
    .mobile-menu__nav,
    .mobile-menu__footer {
        position:relative !important;
        z-index:2 !important;
        width:min(88vw, 430px) !important;
        margin-left:auto !important;
        background:#fff !important;
        transform:translateX(100%);
        transition:transform .32s ease;
    }

    .mobile-menu.is-open .mobile-menu__header,
    .mobile-menu.is-open .mobile-menu__nav,
    .mobile-menu.is-open .mobile-menu__footer {
        transform:translateX(0);
    }

    .mobile-menu__header {
        height:86px !important;
        padding:0 24px !important;
        display:flex !important;
        align-items:center !important;
        justify-content:space-between !important;
        border-bottom:1px solid rgba(0,0,0,.13) !important;
    }

    .mobile-menu__header img {
        height:38px !important;
        max-width:170px !important;
        filter:brightness(0) !important;
    }

    #mobile-menu-close {
        width:44px !important;
        height:44px !important;
        color:#080808 !important;
        border:0 !important;
        background:transparent !important;
        padding:0 !important;
    }

    #mobile-menu-close svg {
        width:29px !important;
        height:29px !important;
        stroke-width:1.4 !important;
        stroke:#080808 !important;
    }

    .mobile-menu__nav {
        height:calc(100vh - 86px - 126px) !important;
        overflow-y:auto !important;
        -webkit-overflow-scrolling:touch !important;
        list-style:none !important;
        padding:26px 24px 24px !important;
        margin:0 0 0 auto !important;
    }

    .mobile-menu__nav > li {
        border-bottom:1px solid rgba(0,0,0,.12) !important;
        padding:0 !important;
        margin:0 !important;
    }

    .mobile-menu__item-row {
        min-height:78px !important;
        display:flex !important;
        align-items:center !important;
        justify-content:space-between !important;
        gap:20px !important;
    }

    .mobile-menu__nav > li > a,
    .mobile-menu__item-row > a {
        display:flex !important;
        align-items:center !important;
        min-height:78px !important;
        color:#080808 !important;
        font-family:var(--font-label) !important;
        font-size:26px !important;
        line-height:1 !important;
        font-weight:400 !important;
        letter-spacing:.22em !important;
        text-transform:uppercase !important;
        text-decoration:none !important;
    }

    .mobile-menu__accordion {
        flex:0 0 auto !important;
        width:44px !important;
        height:44px !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        background:transparent !important;
        border:0 !important;
        color:#080808 !important;
        font-size:43px !important;
        line-height:1 !important;
        font-weight:300 !important;
        cursor:pointer !important;
    }

    .mobile-menu__sub {
        display:none !important;
        grid-template-columns:1fr 1fr !important;
        gap:0 28px !important;
        list-style:none !important;
        padding:0 0 24px !important;
        margin:0 !important;
    }

    .mobile-menu__nav > li.is-expanded .mobile-menu__sub {
        display:grid !important;
    }

    .mobile-menu__sub li {
        border:0 !important;
        margin:0 !important;
        padding:0 !important;
    }

    .mobile-menu__sub a {
        display:block !important;
        padding:12px 0 !important;
        color:#777 !important;
        font-family:var(--font-body) !important;
        font-size:17px !important;
        line-height:1.2 !important;
        letter-spacing:0 !important;
        text-transform:none !important;
        text-decoration:none !important;
    }

    .mobile-menu__footer {
        min-height:126px !important;
        border-top:1px solid rgba(0,0,0,.12) !important;
        padding:18px 24px 22px !important;
        display:grid !important;
        gap:10px !important;
    }

    .mobile-menu__footer .btn,
    .mobile-menu__footer a {
        width:100% !important;
        min-height:44px !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        font-size:11px !important;
        letter-spacing:.18em !important;
        text-transform:uppercase !important;
        border-radius:0 !important;
    }

    .mobile-menu__footer .btn--primary {
        background:#080808 !important;
        color:#fff !important;
        border:1px solid #080808 !important;
    }

    .mobile-menu__footer .btn--outline {
        background:#fff !important;
        color:#080808 !important;
        border:1px solid #080808 !important;
    }
}

/* Mobile homepage and archive cards */
@media (max-width: 900px) {
    .hero-section,
    .home-hero,
    .main-hero,
    .magazine-hero {
        min-height:auto !important;
    }

    .hero-section .container,
    .home-hero .container {
        padding-left:0 !important;
        padding-right:0 !important;
    }

    .vogue-grid,
    .latest-layout,
    .article-grid,
    .posts-grid,
    .archive-grid,
    .search-grid,
    .category-grid,
    .home-grid {
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:0 !important;
        width:100% !important;
        max-width:100% !important;
    }

    .vogue-grid__left,
    .vogue-grid__center,
    .vogue-grid__right,
    .latest-articles,
    .latest-sidebar {
        display:grid !important;
        grid-template-columns:1fr !important;
        width:100% !important;
        max-width:100% !important;
        padding:0 !important;
        margin:0 !important;
        border:0 !important;
        gap:0 !important;
    }

    .article-card,
    .post-card,
    .ot-article-card,
    .latest-row {
        display:block !important;
        width:100% !important;
        max-width:100% !important;
        padding:0 0 28px !important;
        margin:0 0 28px !important;
        border-bottom:1px solid rgba(0,0,0,.12) !important;
        color:#080808 !important;
        text-decoration:none !important;
    }

    .article-card__image,
    .post-card__image,
    .ot-article-card__image,
    .search-card-image,
    .archive-card-image,
    .latest-row__image {
        width:100% !important;
        aspect-ratio:4/5 !important;
        min-height:0 !important;
        overflow:hidden !important;
        background:#f2f2f2 !important;
        margin:0 0 14px !important;
    }

    .article-card__image img,
    .post-card__image img,
    .ot-article-card__image img,
    .search-card-image img,
    .archive-card-image img,
    .latest-row__image img {
        width:100% !important;
        height:100% !important;
        object-fit:var(--ot-card-fit, cover) !important;
        object-position:var(--ot-card-position, center center) !important;
        display:block !important;
    }

    .article-card__body,
    .post-card__body,
    .ot-article-card__body,
    .latest-row__body {
        padding:0 !important;
        width:100% !important;
    }

    .article-card__cat,
    .post-card__cat,
    .ot-article-card__cat {
        margin:0 0 7px !important;
        font-family:var(--font-label) !important;
        font-size:10px !important;
        letter-spacing:.18em !important;
        text-transform:uppercase !important;
        color:#777 !important;
    }

    .article-card__title,
    .post-card__title,
    .ot-article-card__title {
        margin:0 !important;
        font-family:var(--font-editorial) !important;
        font-size:clamp(1.55rem, 8vw, 2.4rem) !important;
        line-height:.95 !important;
        letter-spacing:-.05em !important;
        color:#080808 !important;
    }

    .article-card__author,
    .post-card__author,
    .ot-article-card__author {
        margin-top:9px !important;
        font-size:10px !important;
        letter-spacing:.12em !important;
        text-transform:uppercase !important;
        color:#777 !important;
    }

    .section-header {
        padding:38px 0 18px !important;
        margin:0 !important;
        display:flex !important;
        align-items:flex-end !important;
        justify-content:space-between !important;
        border-bottom:1px solid rgba(0,0,0,.12) !important;
    }

    .section-header__link {
        font-size:10px !important;
        letter-spacing:.16em !important;
        text-transform:uppercase !important;
    }

    .home-section,
    .latest-section,
    .archive-section,
    .search-section {
        padding:0 0 34px !important;
        background:#fff !important;
    }

    .home-section .container,
    .latest-section .container,
    .archive-section .container,
    .search-section .container {
        padding-left:18px !important;
        padding-right:18px !important;
    }
}

@media (min-width: 520px) and (max-width: 900px) {
    .posts-grid,
    .archive-grid,
    .search-grid,
    .category-grid,
    .home-grid,
    .vogue-grid__right {
        grid-template-columns:1fr 1fr !important;
        gap:22px !important;
    }

    .vogue-grid,
    .latest-layout {
        grid-template-columns:1fr !important;
    }
}


/* OOPSTIME_FINAL_VOGUE_MOBILE_BACKUP - main rules are injected inline through wp_head for priority. */






/* OopsTime newsletter typography infinite flow refine */
.ot-clean-newsletter {
    background:#fff !important;
    border-top:0 !important;
    box-shadow:none !important;
}
.ot-clean-newsletter__inner {
    border-top:0 !important;
    border-bottom:0 !important;
}
.ot-clean-newsletter__title {
    font-family:var(--font-editorial, "Playfair Display", Georgia, "Times New Roman", serif) !important;
}
.ot-clean-newsletter__dek,
.ot-clean-newsletter__legal,
.ot-clean-newsletter__input,
.ot-clean-newsletter__button {
    font-family:var(--font-label, "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif) !important;
}


/* OopsTime home main title compact no excerpt */
body.home .home-section--issue .vogue-grid__center .article-card__title,
body.home .home-section--issue .vogue-grid__center .article-card__title[style],
body.home .home-section--issue .vogue-grid__center .ot-home-main-title {
    font-size:clamp(2.05rem, 3.15vw, 3.85rem) !important;
    line-height:.98 !important;
    letter-spacing:-.04em !important;
    max-width:12.8em !important;
    white-space:normal !important;
    text-overflow:clip !important;
    -webkit-line-clamp:unset !important;
}
body.home .home-section--issue .vogue-grid__center .article-card__body > p:not(.article-card__cat):not(.article-card__author),
body.home .home-section--issue .vogue-grid__center .article-card__excerpt,
body.home .home-section--issue .vogue-grid__center .article-card__dek,
body.home .home-section--issue .vogue-grid__center .post-excerpt,
body.home .home-section--issue .vogue-grid__center .entry-summary {
    display:none !important;
}


/* OopsTime home luxury grid balance refine */
body.home .home-section--issue .vogue-grid__center .article-card__title,
body.home .home-section--issue .vogue-grid__center .article-card__title[style],
body.home .home-section--issue .vogue-grid__center .ot-home-main-title {
    font-size:clamp(1.95rem, 2.42vw, 3.12rem) !important;
    line-height:.965 !important;
    letter-spacing:-.037em !important;
    max-width:15.8em !important;
    white-space:normal !important;
    text-overflow:clip !important;
    -webkit-line-clamp:unset !important;
}
body.home .home-section--issue .vogue-grid__center .article-card__body,
body.home .home-section--issue .vogue-grid__center .ot-home-main-body {
    max-width:min(100%, 760px) !important;
}
body.home .article-card__cat,
body.home .dont-miss__cat {
    font-family:var(--font-label, "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif) !important;
    font-size:clamp(.56rem, .58vw, .66rem) !important;
    letter-spacing:.255em !important;
    font-weight:500 !important;
    text-transform:uppercase !important;
}
body.home .article-card__author,
body.home .dont-miss__author {
    font-family:var(--font-label, "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif) !important;
    font-size:clamp(.52rem, .54vw, .62rem) !important;
    letter-spacing:.245em !important;
    font-weight:400 !important;
    text-transform:uppercase !important;
}
body.home .home-section--issue,
body.home .home-section--issue .container,
body.home .home-section--issue .vogue-grid,
body.home .home-section--issue .vogue-grid > * {
    border-color:transparent !important;
    box-shadow:none !important;
}


/* OopsTime home center image Vogue-height refinement */
body.home .home-section--issue .vogue-grid__center .article-card__image,
body.home .home-section--issue .vogue-grid__center .ot-home-main-card .article-card__image {
    width:100% !important;
    aspect-ratio:4 / 5 !important;
    max-height:clamp(520px, 54vw, 680px) !important;
    height:auto !important;
    overflow:hidden !important;
}
body.home .home-section--issue .vogue-grid__center .article-card__image img,
body.home .home-section--issue .vogue-grid__center .ot-home-main-card .article-card__image img {
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center 42% !important;
    display:block !important;
}
@media (max-width:860px) {
    body.home .home-section--issue .vogue-grid__center .article-card__image,
    body.home .home-section--issue .vogue-grid__center .ot-home-main-card .article-card__image {
        aspect-ratio:3 / 4 !important;
        max-height:580px !important;
    }
}
@media (max-width:560px) {
    body.home .home-section--issue .vogue-grid__center .article-card__image,
    body.home .home-section--issue .vogue-grid__center .ot-home-main-card .article-card__image {
        aspect-ratio:4 / 5 !important;
        max-height:520px !important;
    }
}


/* OopsTime home left column compact pair refinement */
@media (min-width: 981px) {
    body.home .home-section--issue .vogue-grid__left {
        display:grid !important;
        grid-template-rows:1fr 1fr !important;
        gap:clamp(1.25rem, 1.75vw, 2rem) !important;
        max-height:clamp(760px, 62vw, 920px) !important;
    }
    body.home .home-section--issue .vogue-grid__left .article-card:nth-child(-n+2) .article-card__image {
        aspect-ratio:4 / 3.85 !important;
        max-height:clamp(230px, 20vw, 305px) !important;
        overflow:hidden !important;
    }
    body.home .home-section--issue .vogue-grid__left .article-card:nth-child(-n+2) .article-card__image img {
        width:100% !important;
        height:100% !important;
        object-fit:cover !important;
    }
    body.home .home-section--issue .vogue-grid__left .article-card:nth-child(-n+2) .article-card__title {
        font-size:clamp(.98rem, 1.05vw, 1.24rem) !important;
        line-height:1.04 !important;
        letter-spacing:-.022em !important;
    }
    body.home .home-section--issue .vogue-grid__left .article-card:nth-child(-n+2) .article-card__cat {
        font-size:clamp(.52rem, .52vw, .6rem) !important;
        letter-spacing:.25em !important;
    }
    body.home .home-section--issue .vogue-grid__left .article-card:nth-child(-n+2) .article-card__author {
        font-size:clamp(.49rem, .49vw, .56rem) !important;
        letter-spacing:.235em !important;
    }
}
@media (max-width: 980px) {
    body.home .home-section--issue .vogue-grid__left {
        display:grid !important;
        grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
        gap:clamp(1.1rem, 3vw, 1.8rem) !important;
        max-height:none !important;
    }
}
@media (max-width: 640px) {
    body.home .home-section--issue .vogue-grid__left {
        grid-template-columns:1fr !important;
    }
}



/* OopsTime single article Vogue-inspired bottom editorial hero */
body.single-post .ot-hybrid-hero.has-image,
body.single-post .ot-hybrid-hero {
    min-height:clamp(580px, 76vh, 780px) !important;
    height:clamp(580px, 76vh, 780px) !important;
    max-height:780px !important;
    display:flex !important;
    align-items:flex-end !important;
    justify-content:center !important;
    text-align:center !important;
    padding:0 !important;
}
body.single-post .ot-hybrid-hero.has-image .ot-hybrid-hero__inner,
body.single-post .ot-hybrid-hero .ot-hybrid-hero__inner {
    width:100% !important;
    max-width:min(100vw, 1540px) !important;
    margin:0 auto !important;
    padding:0 clamp(2.2rem, 5vw, 5.8rem) clamp(3.1rem, 6.2vh, 5.4rem) !important;
    box-sizing:border-box !important;
    text-align:center !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:flex-end !important;
}
body.single-post .ot-hybrid-hero__title,
body.single-post .ot-hybrid-hero h1 {
    width:100% !important;
    max-width:min(92vw, 1380px) !important;
    margin:0 auto clamp(.9rem, 1.1vw, 1.25rem) auto !important;
    text-align:center !important;
    font-size:clamp(3rem, 3.75vw, 5.45rem) !important;
    line-height:.91 !important;
    letter-spacing:-.054em !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
    -webkit-line-clamp:unset !important;
    text-wrap:balance;
}
body.single-post .ot-hybrid-hero__category,
body.single-post .ot-hybrid-hero__meta,
body.single-post .ot-hybrid-hero__save {
    text-align:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
    justify-content:center !important;
}
@media (max-width:760px) {
    body.single-post .ot-hybrid-hero.has-image,
    body.single-post .ot-hybrid-hero {
        min-height:66vh !important;
        height:66vh !important;
        max-height:620px !important;
    }
    body.single-post .ot-hybrid-hero.has-image .ot-hybrid-hero__inner,
    body.single-post .ot-hybrid-hero .ot-hybrid-hero__inner {
        padding-left:1.15rem !important;
        padding-right:1.15rem !important;
        padding-bottom:clamp(1.75rem, 5.2vh, 3rem) !important;
    }
    body.single-post .ot-hybrid-hero__title,
    body.single-post .ot-hybrid-hero h1 {
        max-width:95vw !important;
        font-size:clamp(1.95rem, 8vw, 3.25rem) !important;
        line-height:.985 !important;
    }
}



/* OopsTime homepage hero balanced height only */
body.home section.hero.home-cover-hero,
body.front-page section.hero.home-cover-hero,
body.home section.hero:first-of-type,
body.front-page section.hero:first-of-type {
  min-height:560px !important;
  height:68vh !important;
  max-height:740px !important;
  overflow:hidden !important;
}
body.home section.hero.home-cover-hero .hero__content,
body.front-page section.hero.home-cover-hero .hero__content,
body.home section.hero:first-of-type .hero__content,
body.front-page section.hero:first-of-type .hero__content {
  position:absolute !important;
  inset:auto 0 0 0 !important;
  padding:0 0 clamp(2.6rem,6vh,4.8rem) !important;
  display:flex !important;
  align-items:flex-end !important;
  justify-content:center !important;
}
body.home section.hero.home-cover-hero h1,
body.front-page section.hero.home-cover-hero h1,
body.home section.hero:first-of-type h1,
body.front-page section.hero:first-of-type h1 {
  max-width:min(88vw,1080px) !important;
  width:100% !important;
  margin:0 auto !important;
  font-size:clamp(2.35rem,3.55vw,4.85rem) !important;
  line-height:.96 !important;
  letter-spacing:-.048em !important;
  text-align:center !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  -webkit-line-clamp:unset !important;
  text-wrap:balance;
}
body.home section.hero.home-cover-hero p:not(.eyebrow):not(.article-card__cat):not(.article-card__author),
body.front-page section.hero.home-cover-hero p:not(.eyebrow):not(.article-card__cat):not(.article-card__author),
body.home section.hero:first-of-type p:not(.eyebrow):not(.article-card__cat):not(.article-card__author),
body.front-page section.hero:first-of-type p:not(.eyebrow):not(.article-card__cat):not(.article-card__author),
body.home .article-card__excerpt,
body.front-page .article-card__excerpt,
body.home .article-card__dek,
body.front-page .article-card__dek,
body.home .post-excerpt,
body.front-page .post-excerpt,
body.home .entry-summary,
body.front-page .entry-summary {
  display:none !important;
  visibility:hidden !important;
  height:0 !important;
  max-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  opacity:0 !important;
}
@media (max-width:640px) {
  body.home section.hero.home-cover-hero,
  body.front-page section.hero.home-cover-hero,
  body.home section.hero:first-of-type,
  body.front-page section.hero:first-of-type {
    min-height:430px !important;
    height:56vh !important;
    max-height:560px !important;
  }
}



/* OopsTime header remove mega-menu module only */
header a[href*="/category/fashion"],
header a[href*="/category/beauty"],
header a[href*="/category/lifestyle"],
header a[href*="/category/culture"],
header a[href*="/category/shopping"],
header a[href*="/category/runway"],
header a[href*="/category/trends"],
.site-header a[href*="/category/fashion"],
.site-header a[href*="/category/beauty"],
.site-header a[href*="/category/lifestyle"],
.site-header a[href*="/category/culture"],
.site-header a[href*="/category/shopping"],
.site-header a[href*="/category/runway"],
.site-header a[href*="/category/trends"] {
    font-weight:700 !important;
    letter-spacing:.18em !important;
}
header li:has(> a[href*="/category/fashion"]) > ul,
header li:has(> a[href*="/category/beauty"]) > ul,
header li:has(> a[href*="/category/lifestyle"]) > ul,
header li:has(> a[href*="/category/culture"]) > ul,
header li:has(> a[href*="/category/shopping"]) > ul,
header li:has(> a[href*="/category/runway"]) > ul,
header li:has(> a[href*="/category/trends"]) > ul,
header li:has(> a[href*="/category/fashion"]) > [class*="mega"],
header li:has(> a[href*="/category/beauty"]) > [class*="mega"],
header li:has(> a[href*="/category/lifestyle"]) > [class*="mega"],
header li:has(> a[href*="/category/culture"]) > [class*="mega"],
header li:has(> a[href*="/category/shopping"]) > [class*="mega"],
header li:has(> a[href*="/category/runway"]) > [class*="mega"],
header li:has(> a[href*="/category/trends"]) > [class*="mega"],
header li:has(> a[href*="/category/fashion"]) > [class*="dropdown"],
header li:has(> a[href*="/category/beauty"]) > [class*="dropdown"],
header li:has(> a[href*="/category/lifestyle"]) > [class*="dropdown"],
header li:has(> a[href*="/category/culture"]) > [class*="dropdown"],
header li:has(> a[href*="/category/shopping"]) > [class*="dropdown"],
header li:has(> a[href*="/category/runway"]) > [class*="dropdown"],
header li:has(> a[href*="/category/trends"]) > [class*="dropdown"],
.site-header li:has(> a[href*="/category/fashion"]) > ul,
.site-header li:has(> a[href*="/category/beauty"]) > ul,
.site-header li:has(> a[href*="/category/lifestyle"]) > ul,
.site-header li:has(> a[href*="/category/culture"]) > ul,
.site-header li:has(> a[href*="/category/shopping"]) > ul,
.site-header li:has(> a[href*="/category/runway"]) > ul,
.site-header li:has(> a[href*="/category/trends"]) > ul,
.site-header li:has(> a[href*="/category/fashion"]) > [class*="mega"],
.site-header li:has(> a[href*="/category/beauty"]) > [class*="mega"],
.site-header li:has(> a[href*="/category/lifestyle"]) > [class*="mega"],
.site-header li:has(> a[href*="/category/culture"]) > [class*="mega"],
.site-header li:has(> a[href*="/category/shopping"]) > [class*="mega"],
.site-header li:has(> a[href*="/category/runway"]) > [class*="mega"],
.site-header li:has(> a[href*="/category/trends"]) > [class*="mega"],
.site-header li:has(> a[href*="/category/fashion"]) > [class*="dropdown"],
.site-header li:has(> a[href*="/category/beauty"]) > [class*="dropdown"],
.site-header li:has(> a[href*="/category/lifestyle"]) > [class*="dropdown"],
.site-header li:has(> a[href*="/category/culture"]) > [class*="dropdown"],
.site-header li:has(> a[href*="/category/shopping"]) > [class*="dropdown"],
.site-header li:has(> a[href*="/category/runway"]) > [class*="dropdown"],
.site-header li:has(> a[href*="/category/trends"]) > [class*="dropdown"] {
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
    height:0 !important;
    max-height:0 !important;
    min-height:0 !important;
    width:0 !important;
    max-width:0 !important;
    overflow:hidden !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    transform:none !important;
}
header a[href*="/category/fashion"]::after,
header a[href*="/category/beauty"]::after,
header a[href*="/category/lifestyle"]::after,
header a[href*="/category/culture"]::after,
header a[href*="/category/shopping"]::after,
header a[href*="/category/runway"]::after,
header a[href*="/category/trends"]::after,
.site-header a[href*="/category/fashion"]::after,
.site-header a[href*="/category/beauty"]::after,
.site-header a[href*="/category/lifestyle"]::after,
.site-header a[href*="/category/culture"]::after,
.site-header a[href*="/category/shopping"]::after,
.site-header a[href*="/category/runway"]::after,
.site-header a[href*="/category/trends"]::after {
    display:none !important;
    content:none !important;
    visibility:hidden !important;
    opacity:0 !important;
}


/* OopsTime single article mobile/tablet VIP hero refinement */
@media (max-width: 1024px) {
    body.single-post .ot-hybrid-hero.has-image,
    body.single-post .ot-hybrid-hero { min-height:clamp(560px, 72vh, 720px) !important; height:clamp(560px, 72vh, 720px) !important; max-height:720px !important; align-items:flex-end !important; }
    body.single-post .ot-hybrid-hero.has-image .ot-hybrid-hero__inner,
    body.single-post .ot-hybrid-hero .ot-hybrid-hero__inner { width:100% !important; max-width:100vw !important; padding-left:clamp(1.2rem, 4vw, 2.6rem) !important; padding-right:clamp(1.2rem, 4vw, 2.6rem) !important; padding-bottom:clamp(1.35rem, 3.8vh, 2.4rem) !important; justify-content:flex-end !important; align-items:center !important; text-align:center !important; }
    body.single-post .ot-hybrid-hero__category { margin-bottom:.62rem !important; font-size:clamp(.52rem, 1.05vw, .62rem) !important; letter-spacing:.26em !important; line-height:1.1 !important; }
    body.single-post .ot-hybrid-hero__title,
    body.single-post .ot-hybrid-hero h1 { max-width:min(92vw, 760px) !important; width:100% !important; margin:0 auto .72rem auto !important; font-size:clamp(2rem, 6.1vw, 3.65rem) !important; line-height:.98 !important; letter-spacing:-.042em !important; text-align:center !important; white-space:normal !important; overflow:visible !important; text-overflow:clip !important; -webkit-line-clamp:unset !important; text-wrap:balance; }
    body.single-post .ot-hybrid-hero__meta { gap:.48rem !important; font-size:clamp(.5rem, .96vw, .58rem) !important; letter-spacing:.14em !important; line-height:1.2 !important; opacity:.92 !important; }
    body.single-post .ot-hybrid-hero__save,
    body.single-post .ot-hybrid-hero__save *,
    body.single-post .save-article,
    body.single-post .save-article-button,
    body.single-post .ot-save-article,
    body.single-post .ot-save-button,
    body.single-post button[class*="save"],
    body.single-post a[class*="save"] { display:none !important; visibility:hidden !important; opacity:0 !important; pointer-events:none !important; height:0 !important; max-height:0 !important; min-height:0 !important; margin:0 !important; padding:0 !important; border:0 !important; overflow:hidden !important; }
}
@media (max-width: 640px) {
    body.single-post .ot-hybrid-hero.has-image,
    body.single-post .ot-hybrid-hero { min-height:clamp(520px, 70vh, 650px) !important; height:clamp(520px, 70vh, 650px) !important; max-height:650px !important; }
    body.single-post .ot-hybrid-hero.has-image .ot-hybrid-hero__inner,
    body.single-post .ot-hybrid-hero .ot-hybrid-hero__inner { padding-left:1.05rem !important; padding-right:1.05rem !important; padding-bottom:clamp(1.12rem, 3.1vh, 1.85rem) !important; }
    body.single-post .ot-hybrid-hero__category { margin-bottom:.5rem !important; font-size:.5rem !important; letter-spacing:.24em !important; }
    body.single-post .ot-hybrid-hero__title,
    body.single-post .ot-hybrid-hero h1 { max-width:90vw !important; font-size:clamp(1.68rem, 7.05vw, 2.42rem) !important; line-height:1 !important; letter-spacing:-.038em !important; margin-bottom:.58rem !important; }
    body.single-post .ot-hybrid-hero__meta { max-width:92vw !important; gap:.42rem !important; font-size:.49rem !important; letter-spacing:.115em !important; }
}
@media (max-width: 420px) {
    body.single-post .ot-hybrid-hero.has-image,
    body.single-post .ot-hybrid-hero { min-height:500px !important; height:68vh !important; max-height:620px !important; }
    body.single-post .ot-hybrid-hero__title,
    body.single-post .ot-hybrid-hero h1 { max-width:91vw !important; font-size:clamp(1.55rem, 6.7vw, 2.18rem) !important; line-height:1.01 !important; }
    body.single-post .ot-hybrid-hero__meta { font-size:.47rem !important; letter-spacing:.105em !important; }
}

/* ==========================================================
   OopsTime Homepage — Compact This Issue Side Columns
   Keeps the editorial hierarchy while reducing excess height.
========================================================== */
@media (min-width: 1025px) {
    body.home .home-section--issue .vogue-grid {
        grid-template-columns:minmax(270px, 1.14fr) minmax(0, 1.76fr) minmax(285px, 1.20fr) !important;
        align-items:start !important;
    }

    /* Left column: wider headlines, less dead space between cards. */
    body.home .home-section--issue .vogue-grid__left {
        gap:clamp(.85rem, 1.05vw, 1.2rem) !important;
        padding-right:clamp(.9rem, 1.15vw, 1.25rem) !important;
        max-height:none !important;
    }
    body.home .home-section--issue .vogue-grid__left .ot-home-left-card {
        padding:0 !important;
        min-width:0 !important;
    }
    body.home .home-section--issue .vogue-grid__left .ot-home-left-card .article-card__body {
        padding-top:.58rem !important;
    }
    body.home .home-section--issue .vogue-grid__left .ot-home-left-card .article-card__cat {
        margin-bottom:.22rem !important;
    }
    body.home .home-section--issue .vogue-grid__left .ot-home-left-card .article-card__title {
        font-size:clamp(.92rem, .94vw, 1.08rem) !important;
        line-height:1.03 !important;
        letter-spacing:-.02em !important;
        max-width:100% !important;
    }
    body.home .home-section--issue .vogue-grid__left .ot-home-left-card .article-card__author {
        margin-top:.32rem !important;
    }

    /* Right column: 4 stories only, balanced to match the visual height of the two left cards. */
    body.home .home-section--issue .vogue-grid__right {
        display:grid !important;
        grid-template-rows:repeat(4, minmax(0, auto)) !important;
        justify-content:stretch !important;
        align-content:start !important;
        gap:clamp(.72rem, .9vw, .95rem) !important;
        padding-left:clamp(.8rem, 1vw, 1.1rem) !important;
    }
    body.home .home-section--issue .vogue-grid__right .ot-home-side-card {
        display:flex !important;
        flex-direction:row !important;
        align-items:center !important;
        gap:clamp(.7rem, .82vw, .85rem) !important;
        padding:clamp(.1rem, .2vw, .18rem) 0 !important;
        min-height:0 !important;
        border-bottom:1px solid rgba(26, 24, 20, .12) !important;
    }
    body.home .home-section--issue .vogue-grid__right .ot-home-side-card:first-child {
        padding-top:0 !important;
    }
    body.home .home-section--issue .vogue-grid__right .ot-home-side-card:last-child {
        border-bottom:0 !important;
        padding-bottom:0 !important;
    }
    body.home .home-section--issue .ot-home-side-card__content {
        flex:1 1 auto !important;
        min-width:0 !important;
    }
    body.home .home-section--issue .vogue-grid__right .article-card__cat {
        margin-bottom:.18rem !important;
        font-size:clamp(.49rem, .48vw, .56rem) !important;
        letter-spacing:.22em !important;
    }
    body.home .home-section--issue .vogue-grid__right .article-card__title {
        font-size:clamp(.84rem, .86vw, .98rem) !important;
        line-height:1.08 !important;
        letter-spacing:-.016em !important;
    }
    body.home .home-section--issue .vogue-grid__right .article-card__author {
        margin-top:.24rem !important;
        font-size:clamp(.46rem, .45vw, .52rem) !important;
        letter-spacing:.21em !important;
    }
    body.home .home-section--issue .ot-home-side-card__thumb {
        width:clamp(66px, 5.5vw, 78px) !important;
        height:clamp(78px, 6.6vw, 92px) !important;
        flex:0 0 auto !important;
        overflow:hidden !important;
        background:var(--color-secondary) !important;
    }
    body.home .home-section--issue .ot-home-side-card__thumb img {
        width:100% !important;
        height:100% !important;
        display:block !important;
        object-fit:var(--ot-card-fit, cover) !important;
        object-position:var(--ot-card-position, 50% 50%) !important;
        transition:transform .5s ease !important;
    }
}


/* ==========================================================
   OopsTime Homepage — This Issue overlay headlines on left + center
   Applies luxury overlay copy with subtle bottom vignette.
========================================================== */
body.home .home-section--issue .ot-home-overlay-card,
body.front-page .home-section--issue .ot-home-overlay-card {
    padding:0 !important;
}
body.home .home-section--issue .ot-home-overlay-card__image,
body.front-page .home-section--issue .ot-home-overlay-card__image {
    position:relative !important;
    overflow:hidden !important;
    isolation:isolate !important;
}
body.home .home-section--issue .ot-home-overlay-card__media,
body.front-page .home-section--issue .ot-home-overlay-card__media {
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    display:block !important;
}
body.home .home-section--issue .ot-home-overlay-card__vignette,
body.front-page .home-section--issue .ot-home-overlay-card__vignette {
    position:absolute !important;
    inset:auto 0 0 0 !important;
    height:52% !important;
    background:linear-gradient(to top, rgba(0,0,0,.56) 0%, rgba(0,0,0,.34) 33%, rgba(0,0,0,.12) 68%, rgba(0,0,0,0) 100%) !important;
    z-index:1 !important;
    pointer-events:none !important;
}
body.home .home-section--issue .ot-home-overlay-card__copy,
body.front-page .home-section--issue .ot-home-overlay-card__copy {
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    z-index:2 !important;
    padding:clamp(1rem, 1.4vw, 1.35rem) clamp(.9rem, 1.25vw, 1.2rem) clamp(.95rem, 1.35vw, 1.15rem) !important;
    color:#fff !important;
}
body.home .home-section--issue .ot-home-overlay-card__copy--main,
body.front-page .home-section--issue .ot-home-overlay-card__copy--main {
    padding:clamp(1.25rem, 1.9vw, 1.7rem) clamp(1.15rem, 1.8vw, 1.7rem) clamp(1.2rem, 1.75vw, 1.55rem) !important;
}
body.home .home-section--issue .ot-home-overlay-card__copy .article-card__cat,
body.home .home-section--issue .ot-home-overlay-card__copy .article-card__title,
body.home .home-section--issue .ot-home-overlay-card__copy .article-card__author,
body.front-page .home-section--issue .ot-home-overlay-card__copy .article-card__cat,
body.front-page .home-section--issue .ot-home-overlay-card__copy .article-card__title,
body.front-page .home-section--issue .ot-home-overlay-card__copy .article-card__author {
    color:#fff !important;
}
body.home .home-section--issue .vogue-grid__left .ot-home-overlay-card__copy .article-card__cat,
body.front-page .home-section--issue .vogue-grid__left .ot-home-overlay-card__copy .article-card__cat {
    margin:0 0 .32rem !important;
    opacity:.96 !important;
}
body.home .home-section--issue .vogue-grid__left .ot-home-overlay-card__copy .article-card__title,
body.front-page .home-section--issue .vogue-grid__left .ot-home-overlay-card__copy .article-card__title {
    margin:0 !important;
    font-size:clamp(1rem, 1.08vw, 1.18rem) !important;
    line-height:1.02 !important;
    letter-spacing:-.026em !important;
    text-wrap:balance !important;
    max-width:12em !important;
}
body.home .home-section--issue .vogue-grid__left .ot-home-overlay-card__copy .article-card__author,
body.front-page .home-section--issue .vogue-grid__left .ot-home-overlay-card__copy .article-card__author {
    margin:.42rem 0 0 !important;
    opacity:.94 !important;
}
body.home .home-section--issue .vogue-grid__center .ot-home-overlay-card__copy .article-card__cat,
body.front-page .home-section--issue .vogue-grid__center .ot-home-overlay-card__copy .article-card__cat {
    margin:0 0 .45rem !important;
    opacity:.96 !important;
}
body.home .home-section--issue .vogue-grid__center .ot-home-overlay-card__copy .article-card__title,
body.front-page .home-section--issue .vogue-grid__center .ot-home-overlay-card__copy .article-card__title {
    margin:0 !important;
    font-size:clamp(2rem, 2.45vw, 3.1rem) !important;
    line-height:.97 !important;
    letter-spacing:-.04em !important;
    max-width:11.2em !important;
    text-wrap:balance !important;
}
body.home .home-section--issue .vogue-grid__center .ot-home-overlay-card__copy .article-card__author,
body.front-page .home-section--issue .vogue-grid__center .ot-home-overlay-card__copy .article-card__author {
    margin:.58rem 0 0 !important;
    opacity:.94 !important;
}
@media (max-width: 980px) {
    body.home .home-section--issue .vogue-grid__left .ot-home-overlay-card__copy .article-card__title,
    body.front-page .home-section--issue .vogue-grid__left .ot-home-overlay-card__copy .article-card__title {
        font-size:clamp(.92rem, 2.3vw, 1.12rem) !important;
    }
    body.home .home-section--issue .vogue-grid__center .ot-home-overlay-card__copy .article-card__title,
    body.front-page .home-section--issue .vogue-grid__center .ot-home-overlay-card__copy .article-card__title {
        font-size:clamp(1.7rem, 4.7vw, 2.5rem) !important;
        max-width:13em !important;
    }
}
@media (max-width: 640px) {
    body.home .home-section--issue .ot-home-overlay-card__vignette,
    body.front-page .home-section--issue .ot-home-overlay-card__vignette {
        height:58% !important;
    }
    body.home .home-section--issue .ot-home-overlay-card__copy,
    body.front-page .home-section--issue .ot-home-overlay-card__copy {
        padding:.9rem .85rem .85rem !important;
    }
    body.home .home-section--issue .vogue-grid__center .ot-home-overlay-card__copy .article-card__title,
    body.front-page .home-section--issue .vogue-grid__center .ot-home-overlay-card__copy .article-card__title {
        font-size:clamp(1.45rem, 7vw, 2rem) !important;
        line-height:1 !important;
    }
}

/* ==========================================================
   OopsTime Homepage — This Issue Left Column Equal Center Height
   The two left overlay cards together match the exact visual
   height of the main center cover on desktop.
========================================================== */
@media (min-width: 1025px) {
    body.home .home-section--issue .vogue-grid,
    body.front-page .home-section--issue .vogue-grid {
        align-items: stretch !important;
    }

    body.home .home-section--issue .vogue-grid__left,
    body.front-page .home-section--issue .vogue-grid__left {
        display: grid !important;
        grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
        align-self: stretch !important;
        height: 100% !important;
        min-height: 0 !important;
        gap: clamp(.85rem, 1.05vw, 1.2rem) !important;
    }

    body.home .home-section--issue .vogue-grid__left .ot-home-overlay-card,
    body.front-page .home-section--issue .vogue-grid__left .ot-home-overlay-card,
    body.home .home-section--issue .vogue-grid__left .ot-home-left-card,
    body.front-page .home-section--issue .vogue-grid__left .ot-home-left-card {
        display: block !important;
        height: 100% !important;
        min-height: 0 !important;
        overflow: hidden !important;
    }

    body.home .home-section--issue .vogue-grid__left .ot-home-overlay-card__image,
    body.front-page .home-section--issue .vogue-grid__left .ot-home-overlay-card__image,
    body.home .home-section--issue .vogue-grid__left .article-card__image,
    body.front-page .home-section--issue .vogue-grid__left .article-card__image {
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        aspect-ratio: auto !important;
    }

    body.home .home-section--issue .vogue-grid__left .ot-home-overlay-card__media,
    body.front-page .home-section--issue .vogue-grid__left .ot-home-overlay-card__media,
    body.home .home-section--issue .vogue-grid__left .article-card__image img,
    body.front-page .home-section--issue .vogue-grid__left .article-card__image img,
    body.home .home-section--issue .vogue-grid__left .article-card__image video,
    body.front-page .home-section--issue .vogue-grid__left .article-card__image video {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        object-position: var(--ot-card-position, 50% 50%) !important;
    }
}


/* ==========================================================
   OopsTime Homepage — This Issue Image-First Tight Spacing
   Removes wasted space between the two left covers and closes
   the excessive gutter between the left and center columns.
========================================================== */
@media (min-width: 1025px) {
    body.home .home-section--issue .vogue-grid,
    body.front-page .home-section--issue .vogue-grid {
        column-gap: 0 !important;
    }

    body.home .home-section--issue .vogue-grid__left,
    body.front-page .home-section--issue .vogue-grid__left {
        grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
        row-gap: clamp(.42rem, .5vw, .58rem) !important;
        padding-right: clamp(.35rem, .42vw, .5rem) !important;
        height: 100% !important;
        align-self: stretch !important;
    }

    body.home .home-section--issue .vogue-grid__center,
    body.front-page .home-section--issue .vogue-grid__center {
        padding-left: clamp(.35rem, .42vw, .5rem) !important;
        padding-right: clamp(.45rem, .58vw, .7rem) !important;
    }

    body.home .home-section--issue .vogue-grid__left .ot-home-overlay-card,
    body.front-page .home-section--issue .vogue-grid__left .ot-home-overlay-card,
    body.home .home-section--issue .vogue-grid__left .ot-home-left-card,
    body.front-page .home-section--issue .vogue-grid__left .ot-home-left-card,
    body.home .home-section--issue .vogue-grid__left .ot-home-overlay-card__image,
    body.front-page .home-section--issue .vogue-grid__left .ot-home-overlay-card__image,
    body.home .home-section--issue .vogue-grid__left .article-card__image,
    body.front-page .home-section--issue .vogue-grid__left .article-card__image {
        height: 100% !important;
        min-height: 0 !important;
        max-height: none !important;
        margin: 0 !important;
    }

    body.home .home-section--issue .vogue-grid__left .ot-home-overlay-card__media,
    body.front-page .home-section--issue .vogue-grid__left .ot-home-overlay-card__media,
    body.home .home-section--issue .vogue-grid__left .article-card__image img,
    body.front-page .home-section--issue .vogue-grid__left .article-card__image img,
    body.home .home-section--issue .vogue-grid__left .article-card__image video,
    body.front-page .home-section--issue .vogue-grid__left .article-card__image video {
        width: 100% !important;
        height: 100% !important;
        max-height: none !important;
        object-fit: cover !important;
    }
}


/* ==========================================================
   Shop seasonal banner — infinite page flow
   Removes the full-width divider between the seasonal banner
   and Editor Wishlists. Internal title rules remain intact.
========================================================== */
body .ot-shop-seasonal-banners + .ot-editor-wishlists,
body .ot-editor-wishlists {
    border-top: 0 !important;
}
