/* =========================================================
   ESTA — OUR STORY
   RESPONSIVE REBUILD
   ========================================================= */

html,
body.our-story-page{
  margin:0;
  width:100%;
  min-height:100%;
  background:#E9517C;
}

body.our-story-page{
  position:relative;
  overflow:hidden;
  font-family:Arial,Helvetica,sans-serif;
}


/* =========================
   HERO / ARTWORK
   ========================= */

body.our-story-page .our-story-main{
  position:relative;
  width:100vw;
  height:100vh;
  height:100svh;
  min-height:100vh;
  min-height:100svh;
  margin:0;
  padding:0;
  overflow:hidden;
  background:#E9517C;
}

body.our-story-page .our-story-master{
  position:absolute;
  inset:0;
  z-index:1;
  width:100%;
  height:100%;
  overflow:hidden;
}

body.our-story-page .our-story-master img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}


/* =========================
   HEADER
   ========================= */

body.our-story-page .topbar{
  position:absolute !important;
  inset:0 0 auto 0 !important;
  z-index:100 !important;
  height:96px !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  overflow:visible !important;
}

body.our-story-page .topbar::before,
body.our-story-page .topbar::after{
  display:none !important;
  content:none !important;
}

body.our-story-page .brand-fixed,
body.our-story-page .nav{
  z-index:110 !important;
}

body.our-story-page .brand-fixed img{
  filter:brightness(0) invert(1) !important;
}

body.our-story-page .nav a{
  color:#fff !important;
}

body.our-story-page .our-story-counter-spacer{
  display:none !important;
}


/* =========================
   COPY — DESKTOP
   ========================= */

body.our-story-page .our-story-copy{
  position:absolute;
  z-index:20;
  left:5.4vw;
  top:112px;
  bottom:34px;
  width:min(35vw,610px);

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

  color:#fff;
}

body.our-story-page .our-story-eyebrow{
  margin:0 0 8px;
  font-size:10px;
  font-weight:700;
  letter-spacing:.30em;
}

body.our-story-page .our-story-divider{
  display:block;
  width:50px;
  height:2px;
  margin:0 0 14px;
  background:#fff;
}

body.our-story-page .our-story-title{
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(48px,4.65vw,84px);
  font-weight:400;
  line-height:.91;
  letter-spacing:-.045em;
}

body.our-story-page .our-story-message{
  width:min(490px,100%);
  margin-top:20px;
  font-size:13px;
  line-height:1.42;
}

body.our-story-page .our-story-message p{
  margin:0 0 8px;
}

body.our-story-page .our-story-highlight{
  font-weight:700;
}

body.our-story-page .our-story-message + .our-story-divider{
  margin-top:4px;
  margin-bottom:12px;
}

body.our-story-page .our-story-origin{
  margin:0 0 8px;
  font-size:17px;
  font-weight:700;
  line-height:1.18;
  letter-spacing:.08em;
}

body.our-story-page .our-story-tagline{
  margin:-4px 0 0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:16px;
  font-style:italic;
  line-height:1.08;
}


/* =========================================================
   TABLET + MOBILE
   ========================================================= */

@media(max-width:960px){

  body.our-story-page .topbar{
    height:82px !important;
  }

  body.our-story-page .brand-fixed{
    position:absolute !important;
    top:12px !important;
    left:14px !important;
  }

  body.our-story-page .brand-fixed img{
    width:60px !important;
    height:auto !important;
  }

  /* One-line navigation.
     It no longer drops under the logo. */
  body.our-story-page .nav{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;

    position:absolute !important;
    top:18px !important;
    left:92px !important;
    right:16px !important;

    width:auto !important;
    transform:none !important;

    align-items:center !important;
    justify-content:flex-end !important;
    gap:clamp(12px,2.6vw,28px) !important;

    margin:0 !important;
    padding:0 !important;
  }

  body.our-story-page .nav a{
    padding:6px 0 !important;
    font-size:clamp(7px,1.15vw,9px) !important;
    font-weight:700 !important;
    letter-spacing:.03em !important;
    white-space:nowrap !important;
  }

  body.our-story-page .our-story-master img{
    object-position:62% center;
  }

  body.our-story-page .our-story-copy{
    left:5vw;
    top:96px;
    bottom:24px;
    width:43vw;
  }

  body.our-story-page .our-story-title{
    font-size:clamp(40px,7vw,66px);
  }

  body.our-story-page .our-story-message{
    font-size:11px;
  }

  body.our-story-page .our-story-origin{
    font-size:15px;
  }

  body.our-story-page .our-story-tagline{
    font-size:15px;
  }
}


/* =========================================================
   PHONE PORTRAIT
   Header occupies only the visual top zone.
   Copy gets its own lower zone, so they cannot overlap.
   ========================================================= */

@media(max-width:520px) and (orientation:portrait){

  body.our-story-page .topbar{
    height:72px !important;
  }

  body.our-story-page .brand-fixed{
    top:11px !important;
    left:12px !important;
  }

  body.our-story-page .brand-fixed img{
    width:52px !important;
  }

  body.our-story-page .nav{
    top:17px !important;
    left:76px !important;
    right:10px !important;

    justify-content:space-between !important;
    gap:3px !important;
  }

  body.our-story-page .nav a{
    padding:3px 0 !important;
    font-size:6.6px !important;
    letter-spacing:0 !important;
  }

  body.our-story-page .our-story-master img{
    object-position:64% center !important;
  }

  /* Completely separate content zone from header.
     No flex-bottom trick, no shared vertical area. */
  body.our-story-page .our-story-copy{
    left:18px !important;
    right:auto !important;

    top:42svh !important;
    bottom:auto !important;

    width:min(60vw,270px) !important;
    max-width:60vw !important;

    display:block !important;
  }

  body.our-story-page .our-story-eyebrow{
    margin:0 0 5px !important;
    font-size:7px !important;
    letter-spacing:.22em !important;
  }

  body.our-story-page .our-story-divider{
    width:36px !important;
    height:1.5px !important;
    margin-bottom:8px !important;
  }

  body.our-story-page .our-story-title{
    font-size:clamp(31px,9.5vw,42px) !important;
    line-height:.90 !important;
  }

  body.our-story-page .our-story-message{
    margin-top:10px !important;
    font-size:8.5px !important;
    line-height:1.28 !important;
  }

  body.our-story-page .our-story-message p{
    margin-bottom:4px !important;
  }

  body.our-story-page .our-story-message + .our-story-divider{
    margin-top:2px !important;
    margin-bottom:6px !important;
  }

  body.our-story-page .our-story-origin{
    margin-bottom:3px !important;
    font-size:10.5px !important;
    line-height:1.12 !important;
  }

  body.our-story-page .our-story-tagline{
    margin:0 !important;
    font-size:11.5px !important;
  }
}


/* =========================================================
   LANDSCAPE
   ========================================================= */

@media(max-width:960px) and (orientation:landscape){

  body.our-story-page .brand-fixed{
    top:9px !important;
    left:12px !important;
  }

  body.our-story-page .brand-fixed img{
    width:54px !important;
  }

  body.our-story-page .nav{
    top:16px !important;
    left:80px !important;
    right:16px !important;
    justify-content:center !important;
  }

  body.our-story-page .nav a{
    font-size:clamp(6.6px,1vw,8.3px) !important;
  }

  body.our-story-page .our-story-master img{
    object-position:60% center !important;
  }

  body.our-story-page .our-story-copy{
    left:4.8vw !important;
    top:58px !important;
    bottom:16px !important;
    width:40vw !important;
    max-width:520px !important;
    justify-content:center !important;
  }

  body.our-story-page .our-story-title{
    font-size:clamp(33px,5.5vw,60px) !important;
  }

  body.our-story-page .our-story-message{
    margin-top:11px !important;
    font-size:clamp(8px,1vw,10px) !important;
    line-height:1.28 !important;
  }

  body.our-story-page .our-story-origin,
  body.our-story-page .our-story-tagline{
    font-size:clamp(10px,1.2vw,13px) !important;
  }
}


/* very short landscape */
@media(max-width:740px) and (max-height:440px) and (orientation:landscape){

  body.our-story-page .our-story-copy{
    top:44px !important;
    bottom:8px !important;
  }

  body.our-story-page .our-story-title{
    font-size:clamp(29px,5vw,46px) !important;
  }

  body.our-story-page .our-story-message{
    margin-top:7px !important;
    font-size:7.3px !important;
    line-height:1.22 !important;
  }

  body.our-story-page .our-story-origin,
  body.our-story-page .our-story-tagline{
    font-size:8.8px !important;
  }
}


/* =========================================================
   FINAL MOBILE COLLISION GUARD
   This block is intentionally last so it wins the cascade.
   ========================================================= */
@media (max-width:520px) and (orientation:portrait){
  body.our-story-page .topbar{
    position:absolute !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    height:68px !important;
    z-index:9999 !important;
  }

  body.our-story-page .brand-fixed{
    position:absolute !important;
    top:8px !important;
    left:10px !important;
    width:auto !important;
    height:auto !important;
    transform:none !important;
  }

  body.our-story-page .brand-fixed img{
    display:block !important;
    width:48px !important;
    height:auto !important;
  }

  body.our-story-page .nav{
    display:flex !important;
    position:absolute !important;
    top:15px !important;
    left:70px !important;
    right:8px !important;
    width:auto !important;
    transform:none !important;
    justify-content:space-between !important;
    align-items:center !important;
    gap:2px !important;
  }

  body.our-story-page .nav a{
    font-size:6.2px !important;
    line-height:1 !important;
    padding:3px 0 !important;
  }

  body.our-story-page .our-story-copy{
    position:absolute !important;
    left:18px !important;
    right:auto !important;
    top:46vh !important;
    top:46svh !important;
    bottom:auto !important;
    width:56vw !important;
    max-width:250px !important;
    transform:none !important;
    display:block !important;
    z-index:30 !important;
  }

  body.our-story-page .our-story-title{
    font-size:clamp(29px,9vw,39px) !important;
  }

  body.our-story-page .our-story-message{
    font-size:8px !important;
    line-height:1.25 !important;
  }
}


/* =========================================================
   PORTRAIT HEADER FINAL
   Keep header OVER artwork, but separate logo and nav vertically.
   ========================================================= */
@media (max-width:520px) and (orientation:portrait){

  body.our-story-page .topbar{
    position:absolute !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    height:78px !important;
    background:transparent !important;
    z-index:9999 !important;
  }

  body.our-story-page .brand-fixed{
    position:absolute !important;
    top:7px !important;
    left:10px !important;
    transform:none !important;
  }

  body.our-story-page .brand-fixed img{
    width:50px !important;
    height:auto !important;
  }

  body.our-story-page .nav{
    display:flex !important;
    position:absolute !important;

    top:46px !important;
    left:10px !important;
    right:10px !important;

    width:calc(100% - 20px) !important;
    transform:none !important;

    justify-content:space-between !important;
    align-items:center !important;
    gap:4px !important;

    margin:0 !important;
    padding:0 !important;
  }

  body.our-story-page .nav a{
    flex:0 0 auto !important;
    padding:3px 0 !important;

    font-size:6.8px !important;
    line-height:1 !important;
    letter-spacing:.01em !important;

    white-space:nowrap !important;
  }

  body.our-story-page .our-story-copy{
    top:46svh !important;
  }
}

/* =========================================================
   OUR STORY — NAV POSITION COPIED FROM CONTACT LOCK
   POSITION ONLY. PAGE CONTENT UNTOUCHED.
   ========================================================= */

/* Base header */
body.our-story-page .topbar{
  position:absolute !important;
  top:0 !important;
  left:0 !important;
  width:100% !important;
  height:96px !important;
  z-index:100 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

body.our-story-page .topbar::before,
body.our-story-page .topbar::after{
  content:none !important;
  display:none !important;
}

body.our-story-page .brand-fixed,
body.our-story-page .nav{
  z-index:110 !important;
}

/* CONTACT LOCK — <=960 */
@media(max-width:960px){
  body.our-story-page .topbar{
    position:absolute !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    height:78px !important;
    background:transparent !important;
    z-index:1000 !important;
  }

  body.our-story-page .brand-fixed{
    position:absolute !important;
    top:8px !important;
    left:10px !important;
    z-index:1010 !important;
  }

  body.our-story-page .brand-fixed img{
    width:50px !important;
    height:auto !important;
  }

  body.our-story-page .nav{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    position:absolute !important;
    top:46px !important;
    left:10px !important;
    right:10px !important;
    width:calc(100% - 20px) !important;
    transform:none !important;
    justify-content:space-between !important;
    align-items:center !important;
    gap:4px !important;
    margin:0 !important;
    padding:0 !important;
    z-index:1010 !important;
  }

  body.our-story-page .nav a{
    display:block !important;
    flex:0 0 auto !important;
    padding:3px 0 !important;
    font-size:6.8px !important;
    line-height:1 !important;
    letter-spacing:.01em !important;
    white-space:nowrap !important;
    color:#FFFFFF !important;
  }
}

/* CONTACT LOCK — <=960 landscape */
@media(max-width:960px) and (orientation:landscape){
  body.our-story-page .topbar{
    height:64px !important;
  }

  body.our-story-page .brand-fixed{
    top:8px !important;
    left:12px !important;
  }

  body.our-story-page .brand-fixed img{
    width:52px !important;
  }

  body.our-story-page .nav{
    top:16px !important;
    left:80px !important;
    right:16px !important;
    width:auto !important;
    justify-content:center !important;
    gap:clamp(12px,3vw,28px) !important;
  }

  body.our-story-page .nav a{
    font-size:clamp(6.5px,1vw,8px) !important;
  }
}

/* CONTACT LOCK — tablet >960 */
@media (min-width:961px)
       and (max-width:1366px)
       and (pointer:coarse){

  body.our-story-page .topbar{
    position:absolute !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    height:96px !important;
    background:transparent !important;
    z-index:9999 !important;
  }

  body.our-story-page .brand-fixed{
    position:absolute !important;
    top:16px !important;
    left:24px !important;
    transform:none !important;
  }

  body.our-story-page .brand-fixed img{
    width:100px !important;
    height:auto !important;
  }

  body.our-story-page .nav{
    display:flex !important;
    position:absolute !important;
    left:50% !important;
    top:50% !important;
    right:auto !important;
    width:max-content !important;
    transform:translate(-50%,-50%) !important;
    justify-content:center !important;
    align-items:center !important;
    gap:44px !important;
    margin:0 !important;
    padding:0 !important;
  }

  body.our-story-page .nav a{
    font-size:11px !important;
    letter-spacing:.15em !important;
    white-space:nowrap !important;
    color:#FFFFFF !important;
  }
}

/* CONTACT LOCK — tablet portrait */
@media (orientation:portrait)
       and (min-width:521px)
       and (max-width:1366px)
       and (pointer:coarse){

  body.our-story-page .topbar{
    position:absolute !important;
    top:0 !important;
    left:0 !important;
    width:100% !important;
    height:78px !important;
    min-height:0 !important;
    background:transparent !important;
    border:0 !important;
    overflow:visible !important;
  }

  body.our-story-page .brand-fixed{
    position:absolute !important;
    top:8px !important;
    left:12px !important;
    transform:none !important;
  }

  body.our-story-page .brand-fixed img{
    width:64px !important;
    height:auto !important;
  }

  body.our-story-page .nav{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    position:absolute !important;
    left:92px !important;
    right:18px !important;
    top:22px !important;
    width:auto !important;
    height:auto !important;
    transform:none !important;
    align-items:center !important;
    justify-content:center !important;
    gap:clamp(12px,3vw,30px) !important;
    margin:0 !important;
    padding:0 !important;
    white-space:nowrap !important;
    z-index:120 !important;
  }

  body.our-story-page .nav a{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    flex:0 0 auto !important;
    padding:7px 0 !important;
    font-size:clamp(7px,1.3vw,9px) !important;
    font-weight:700 !important;
    letter-spacing:.04em !important;
    white-space:nowrap !important;
    color:#FFFFFF !important;
  }
}

