/** Shopify CDN: Minification failed

Line 37:0 Unexpected "}"
Line 98:18 Expected identifier but found "!"

**/
/* Place any CSS overrides in this file. */

.slideshow--full-screen p { font-size: 45px; font-weight: 400;}
.slider-section--image--slideshow .block-section--slideshow-0 .homepage-featured-box-btn { background: transparent !important;
border: 2px solid #333; transition: linear.25s;
color: #333 !important;
font-weight: 600;
}
.slider-section--image--slideshow .block-section--slideshow-0 .homepage-featured-box-btn:hover  { 
background: #000000 !important;
border: 2px solid #000000;
color: white !important;
}
/*.homepage-featured-box-btn { background: rgba(0,0,0,.45);
transition: .2; }*/

.input-group .input-group-field:first-child::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: #bbb;
  opacity: 1; /* Firefox */
}

.input-group .input-group-field:first-child:-ms-input-placeholder { /* Internet Explorer 10-11 */
  color: #bbb;
}

.input-group .input-group-field:first-child::-ms-input-placeholder { /* Microsoft Edge */
  color: #bbb;
}

.grid-item__title h2 { font-size: 1.25em; font-weight: 600; background: rgba(255,255,255,.35); padding: 15px; color: #333; }
}

.footer-email-submit { border: 1px solid #bbbbbb; }
footer { padding: 50px 0 }
footer .lazyload-wrapper img { width: 60%; }

.wrapper .detail { width: 100%; background: #f3f6f7; padding: 50px; text-align:center; }
#shopify-section-1612296857db1c868a div.wrapper { padding:0; max-width: 100%; }
.detail h2 { font-size: 1.5rem; padding: 20px 0 0; }
.detail p { font-size: 1rem; width: 70%; margin: auto; line-height: 1.5; padding-bottom: 32px; }
.detail
.detail-image { background: url("/cdn/shop/files/showcase_2.png?v=1630778177") center center no-repeat; min-height: 960px; }
.detail-image ul { padding:0; margin:0; display: inline; }
.detail-image ul li { display: inline-block; text-align: left; margin-top: 150px; }
.detail-image ul li:first-child { float: left; width: 300px; }
.detail-image ul li:nth-child(2) { float: right; width: 300px; margin-top: 240px; margin-right: 25px; }
.detail-image h2 { padding-bottom: 20px; }
.detail-image p { margin: 0; width: 100%; padding-bottom: 20px; }
hr.line { width: 50%; margin: 0 0 -30px -180px;}
hr { margin-bottom: 60px; }
.detail-image p.pant { padding-top: 300px; }
.detail-image a { padding: .75rem 2rem; border: 2px solid #333; color: #333; font-weight: 600; }
.detail-image a:hover {
background: #000000;
border: 2px solid #000000;
color: white;
transition: linear .25s;
}
.mobile-only { display: none; }
.container { max-width: 1150px; margin: auto; }
.logomark { width: 65px; margin-top: 50px; }

.about-cory { padding: 160px 0; }
.about-cory ul { margin:0; padding: 0; display: block; text-align: center; }
.about-cory ul li { display: inline-block; width: 50%; padding-left: 4rem; list-style: none; vertical-align: top; }
.about-cory ul li:first-child { width: 28%; padding: 0 4rem 0 0; vertical-align: middle; text-align: right; }
.about-cory ul li:first-child img { max-width: 160px }
.about-cory ul li:nth-child(2) { width: 70%; padding: 0 0 0 4rem; border-left: 1px solid rgba(0,0,0,.15); }
.about-cory h2, .about-cory p { text-align: left; }
a.about-cory-btn { 
border:2px solid #333333; padding: .75rem 1.5rem; float: left; margin-top: 2rem; color: #333; font-weight: 600; transition: linear.25s; }
a.about-cory-btn:hover { color:white; background:#000000; border:2px solid #000000; }
.social-media-footer ul li .fa-2x {
      font-size: 25px !important; }
.newsletter-footer input.footer-email-submit, form#contact_form .btn { background: #1A1E20; border: 1px solid #fff; }
.mega-menu-wrapper .mega-menu .site-nav__dropdown { -webkit-box-shadow: 0 3px 6px rgb(0 0 0 / 18%); box-shadow: 0 3px 6px rgb(0 0 0 / 18%);}
.slideshow--full-screen p, h2 { color: #1A1E20; }
/*.collection-sidebar-sort input[type=radio]:checked:before { color: #355a68 }*/
.bottom--footer a { color: #bbbbbb; }
#CartContainer button.ajaxcart__qty-remove { display:none; }
.sale-price--with-discount .money { color: #000000; }


@media screen and (min-width: 768px) {
.slider-section--image--slideshow .homepage-featured-box-btn {
    font-size: 20px !important;}
}


@media only screen and (max-width: 767px) {
.homepage-slider-container .homepage-featured-content-box.slideshow-mobile-image-content .sitewide--title-wrapper .homepage-sections--title {
line-height: 1.3; !important;
width: 60%;
}
.detail p { width: 100%; text-align: center; padding-bottom: 30px; }
.detail h2 { font-size: 1.4rem; text-align: center; line-height: 1.2; }
.detail-image h2 { padding-bottom: 5px; }
.mobile-hide { display: none !important; }
.detail-image { background: #f6f6f6 !important; min-height: auto !important; }
.detail-image ul li { margin-top: 100px; }
.detail-image ul li:first-child { width: auto; }
.mobile-only { display: block; }
a.section-2 { padding: .75rem 2rem; border: 2px solid #444444; color: #444444; font-weight: 600; width: 60%; margin: auto; }
a.section-2:hover {
background: #000000;
border: 2px solid #000000;
color: white;
transition: linear .25s;}
img.mobile-only { padding-top: 40px; }
.logomark { margin-top: 0; }
.about-cory ul li { width: 100%; display: inline; text-align: center; }
.about-cory h2, .about-cory p, .about-cory ul li:first-child { text-align: center; }
.about-cory ul li:first-child { padding: 0; }
.about-cory ul li:first-child img { text-align: center; margin: auto }
.about-cory h2 { font-size: 1.5rem; }
.about-cory p { width: 100%; padding-bottom: 20px; }
.about-cory ul li:nth-child(2) { border: none; }
.about-cory { padding: 50px 0 60px; }
a.about-cory-btn { float: none;  }
.about-cory { width: 80%; margin: auto; }
.about-cory img.mobile-only { padding-top: 0; }
footer .lazyload-wrapper img { width: 60%; }
}

@media only screen and (min-width: 481px) and (max-width: 767px) {
  .medium--one-half { padding: 15px; }
}

/* === CORY OPERATOR BLOCK, added 2026-08-22. Managed by analysis/append-custom-css.mjs === */
/* The CORY operator CSS block, uploaded into assets/custom.css by
   analysis/append-custom-css.mjs.

   THIS LIVES IN ITS OWN FILE ON PURPOSE. It used to be a JavaScript template literal inside that
   script, and a backtick or a dollar-brace in a CSS comment broke the whole script THREE separate
   times, each time with a JS parse error that said nothing about CSS. Plain CSS in a plain .css
   file cannot do that, and an editor will highlight it properly. */

/* Collection cards: keep price and button aligned across a row on phones.
   The card is a float grid, so cards do not share a height. Reserving three lines for the title is
   what lets everything below it line up. Measured, not guessed: at 360px and 390px the title
   line-height is 25.6px and titles run two to three lines, so the tallest is 77px. Titles stay
   ragged at the bottom, by design, which is what Baraa asked for.
   Scoped to 767px because that is where this theme switches from the small-- grid (two per row) to
   medium-- (three per row). */
@media (max-width: 767px) {
  .product-grid--title {
    min-height: 77px;
  }
}

/* Homepage collection blocks: make the label readable over the photo.
   The section already sets .grid-item__title to the chosen overlay colour, and the browser confirms
   the anchor IS white. But the h2 inside it carries its own colour and a translucent white box from
   the main stylesheet, which wins and produces dark text in a pale panel over a pale photo.
   Overriding the h2 is the only part that was actually missing. */
.homepage-collection-grid-item .grid-item__title h2 {
  color: inherit;
  background: transparent;
  text-shadow: 0 1px 12px rgba(0, 0, 0, .45);
}

/* DARK MODE WAS REMOVED 2026-08-22, same day it went in.

   It was shipped half-done and Baraa caught it: "you changed the website itself into dark mode".
   Not quite - the rules were correctly inside prefers-color-scheme, but his DESKTOP is in dark mode
   too, and every rule had been written and checked against the PHONE homepage only. So on desktop
   the sections I had not covered stayed light while the ones I had went dark, the desktop nav ended
   up dark text on a dark bar, and a second CORY logo in a content section stayed black on black.

   The lesson is not that dark mode is wrong. It is that a site-wide colour scheme cannot be
   verified on one page at one width. Doing it properly means every template and both widths,
   checked, not just the homepage on a phone.

   Reverted to the theme's own light-only rendering. */
/* `only light`, NOT `light`. This is the correction Codex caught and it is the whole point:
   plain `light` states a PREFERENCE, which a browser is free to override with algorithmic
   darkening. The `only` keyword forbids it. The first attempt used plain `light`, Edge on Android
   ignored it, and the wrong conclusion drawn from that was "the opt-out does not work, so we must
   build dark mode" - which then shipped half-finished. The opt-out had simply never been stated
   properly.

   Also applied to the header and hero specifically, not just :root. Per-element colour-scheme is
   supported, and these are the two places where algorithmic darkening actually did damage: dark
   type over a bright photograph, and a black logo on a darkened bar. */
:root {
  color-scheme: only light;
}

/* The per-element `color-scheme: only light` block that was briefly here has been REMOVED.
   Applying it to the header and hero as well as :root made things worse under Chrome auto-dark
   emulation: the page background correctly stayed light, but the hero heading still rendered white,
   giving light text on a light photograph. Root-only is what gets tested from here. */

/* "Our Promise To You" fabric annotations, shown on mobile. Baraa 2026-08-22: "i would want to put
   those to be somewhat similar to desktop, i know we are tight on space".

   These two lines - the four-way stretch and the wrinkle/anti-bacterial/anti-pilling claims - were
   marked `mobile-hide` by whoever built the section, and the reason is sound: on desktop each sits
   at the end of a leader line pointing at the garment, and at 360px those lines would cross the
   photograph. Rather than un-hiding them as they are, the leader lines and the tall spacer that
   aligns the second one with the trousers are dropped, leaving two plain centred lines of text.

   Two things had to be fixed to make the un-hide actually work, neither obvious:
   1. The li carries a hard width:300px from the desktop layout and sits inside a zero-width ul, so
      simply setting display:block put it at left:-15px and clipped "Comfort" to "omfort". It needs
      an explicit width reset.
   2. The empty <p> tags between the two annotations are what separate them. An earlier attempt hid
      p:empty as tidy-up and the two claims ran together into one paragraph. They are load-bearing.

   Desktop is untouched: everything here is inside the mobile breakpoint. */
@media (max-width: 767px) {
  .detail-image ul {
    width: 100% !important;
  }
  .detail-image li.mobile-hide {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    /* The block ships with `margin: 240px 25px 3.75px 0`. On desktop that 240px top margin is what
       drops it down the page so the second claim lines up with the trousers, and the asymmetric
       25px right margin is part of that same positioning. On a phone, with the leader lines gone,
       both are just damage: a screen and a half of dead space, and text pushed off centre.
       Reset to sit directly under the paragraph above it. */
    margin: 10px 0 0 !important;
    text-align: center;
    font-size: 15px;
    line-height: 1.55;
  }
  .detail-image li.mobile-hide hr.line,
  .detail-image li.mobile-hide p.pant {
    display: none !important;
  }
  /* One empty <p> leads the block, before "Comfort". It is a desktop spacer, and on a phone it
     stacks on top of the li margin and makes the break above the first claim more than twice the
     break between the two claims (measured: 79px against 35px). Dropping the leading one alone
     gives 49px above and 35px between, so the pair still reads as its own group.
     `:first-child` ON PURPOSE, not `p:empty`. Hiding every empty <p> was tried and the two claims
     ran together into one sentence: the ones BETWEEN them are the only separator this markup has. */
  .detail-image li.mobile-hide > p:first-child {
    display: none !important;
  }
}

/* ------------------------------------------------------------------------------------------------
   Homepage banner images were being cropped to a third of themselves on a phone.
   Baraa, 2026-08-23: "on mobile, it cuts off from the image instead of squeezing it within its
   frame. can you do something about it?"

   MEASURED, not guessed. At a 360px viewport the two full-width homepage banners rendered a
   360 x 360 box, because the theme sets:

       .homepage-collection-grid-inner { height: 40vh }

   40vh is 360px on a 900px-tall phone, and that height does not change with width. Both banner
   images are about 2.7:1 (Cory Slides 1924x713, Accessories 2000x755). Forcing a 2.7:1 image into
   a 1:1 box with object-fit: cover shows 1/2.7 of it, and the measurement agreed exactly:
   37% of the Slides image and 38% of the Accessories image were visible at 360px.

   The multi-card rows above them were already fine: they use object-fit: contain and showed 100%.
   This is only the two single-image banners.

   The fix lets the height follow the image instead of being pinned to the viewport height, so the
   whole image shows and there are no letterbox bands either. The wrappers between the inner and the
   img each carry their own height, so all of them have to be released, not just the outer one.

   .homepage-collection-grid-inner keeps position: relative, because the title and button overlay is
   position: absolute against it and would otherwise escape to the page.

   Desktop is deliberately untouched: at 1280px these banners already show 76 to 78% of the image in
   a deliberate wide crop, which is what a hero banner is supposed to look like.
   ------------------------------------------------------------------------------------------------ */
@media screen and (max-width: 767px) {
  .featured-collections-wrapper .homepage-collection-grid-inner,
  .featured-collections-wrapper .homepage-collection-grid-inner .grid-image,
  .featured-collections-wrapper .homepage-collection-grid-inner .grid-image--centered,
  .featured-collections-wrapper .homepage-collection-grid-inner .lazyload-wrapper {
    height: auto !important;
  }
  .featured-collections-wrapper .homepage-collection-grid-image-single {
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
  }
  /* The title-and-button overlay is ALSO pinned to `height: 40vh`, the same viewport height that
     caused the crop. Releasing only the image left the overlay at 338px over a 133px banner, so the
     button hung 90px below the image and sat on top of the next section. Measured, not eyeballed:
     the gradient of the banner underneath was hiding it well enough to look almost fine.
     Tie the overlay to the container instead, so it is exactly as tall as the image it sits on. */
  .featured-collections-wrapper .homepage-collection-grid-inner .grid-item-details--overlay,
  .featured-collections-wrapper .homepage-collection-grid-inner .grid-item-details--hover {
    height: 100% !important;
  }
}

/* ------------------------------------------------------------------------------------------------
   Homepage rows did not line up with each other once the gutters were put back.
   Baraa, 2026-08-23: "the cards now on home page have no padding between each other, no gap, they
   used to look better, put that gap again... have some spacing."

   Restoring the gutters (keep-spacing on all four rows) gave the gaps back but exposed a 15px
   mismatch that exists whenever spacing is on. Measured at 1280px:

     banner rows   .collection-grid padding 15  +  item padding 15   =  image at left 30
     gallery rows  .wrapper padding 30          +  item padding 15   =  image at left 45

   The gallery sections sit inside a `.wrapper` that already carries 30px, the banner sections do
   not. Pulling the gallery grid back by 15px puts every row's image edge at the same 30px.

   Desktop only. At 360 and 390 both row types already measured left 15, because the theme drops the
   banner item side padding below 768px, so touching mobile here would break what already lines up.
   ------------------------------------------------------------------------------------------------ */
@media screen and (min-width: 769px) {
  .homepage-gallery-background .gallery-grid.keep-spacing {
    margin-left: -15px;
    margin-right: -15px;
    /* The width is needed as well as the margins. The grid is width:100% of its parent, so negative
       margins alone SHIFTED it 15px left without making it any wider: the left edge lined up and the
       right edge was still 30px short of the banner rows. Measured, not assumed: left matched at 30
       while the row spans stayed 1190 against the banners' 1220. */
    width: calc(100% + 30px);
  }
}

/* ------------------------------------------------------------------------------------------------
   The 768px boundary, where the two row types disagreed by 15px.

   The theme drops the BANNER item's side padding at max-width 768:
       @media (max-width:768px) { .keep-spacing .homepage-collection-grid-item { padding: 15px 0 0 } }
   but nothing equivalent applies to the GALLERY items, which keep their 15px. So at exactly 768,
   which is iPad portrait, banners sat at left 15 and galleries at left 30.

   Fixed by keeping the banner item padding down to 700px rather than by stripping the gallery
   padding, because stripping it would remove the gap BETWEEN the cards in a row at tablet, which is
   the thing Baraa just asked to have back. Below 700 both row types are at 15 already and are left
   alone.
   ------------------------------------------------------------------------------------------------ */
@media screen and (min-width: 700px) and (max-width: 768px) {
  .featured-collections-wrapper .keep-spacing .homepage-collection-grid-item {
    padding: 15px !important;
  }
}
/* === END CORY OPERATOR BLOCK === */

/* === CORY CART UPSELL, added 2026-08-28. Managed by analysis/apply-cart-upsell.mjs === */
.cart-upsell {
  border-top: 1px solid rgba(128, 128, 128, 0.35);
  margin: 0 0 20px;
  padding: 18px 0;
}

.cart-upsell__message {
  font-weight: 600;
  margin: 0 0 12px;
  text-align: center;
}

.cart-upsell__items {
  display: grid;
  gap: 8px;
}

.cart-upsell__item {
  align-items: center;
  border: 1px solid rgba(128, 128, 128, 0.35);
  display: flex;
  gap: 12px;
  justify-content: space-between;
  padding: 10px 12px;
}

.cart-upsell__details {
  min-width: 0;
}

.cart-upsell__title,
.cart-upsell__meta {
  margin: 0;
}

.cart-upsell__title {
  font-weight: 600;
}

.cart-upsell__meta {
  font-size: 0.875em;
  opacity: 0.8;
}

.cart-upsell__add {
  flex: 0 0 auto;
  min-width: 64px;
  padding: 8px 12px;
}

.cart-upsell__add[disabled] {
  cursor: wait;
  opacity: 0.65;
}

.cart-upsell__error {
  font-weight: 600;
  margin: 10px 0 0;
  text-align: center;
}
/* === END CORY CART UPSELL === */


/* === CORY OUR STORY === */
/* Shell rules only activate when this alternate template is present. */
body#we-are-cory:has(.cory-our-story) {
  overflow-x: hidden;
}
body#we-are-cory:has(.cory-our-story) .breadcrumb {
  display: none;
}
body#we-are-cory .page-main--wrapper:has(.cory-our-story) {
  padding-top: 0;
  padding-bottom: 0;
  margin-top: 0;
  margin-bottom: 0;
}
.cory-our-story {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  color: #333333;
  background: #ffffff;
  font-family: inherit;
  font-size: 16px;
  line-height: 1.5;
}
.cory-our-story *,
.cory-our-story *::before,
.cory-our-story *::after {
  box-sizing: border-box;
}
.cory-our-story h1,
.cory-our-story h2,
.cory-our-story p {
  margin: 0;
  color: inherit;
  text-transform: none;
}
.cory-our-story h1,
.cory-our-story h2 {
  font-weight: 600;
  letter-spacing: -0.01em;
}
.cory-our-story img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
}
.cory-our-story .cory-our-story__eyebrow {
  color: #a15b52;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.cory-our-story .cory-our-story__hero {
  position: relative;
  height: 560px;
  overflow: hidden;
  background: #efe9e3;
}
.cory-our-story .cory-our-story__hero > img {
  position: absolute;
  inset: 0;
  object-position: 50% 30%;
}
.cory-our-story .cory-our-story__hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0.65) 70%, rgba(0, 0, 0, 0.7) 100%);
}
.cory-our-story .cory-our-story__hero-copy {
  position: absolute;
  z-index: 1;
  left: 20px;
  right: 20px;
  bottom: 28px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  color: #ffffff;
}
.cory-our-story .cory-our-story__hero-copy .cory-our-story__eyebrow {
  color: inherit;
  opacity: 0.9;
}
.cory-our-story h1 {
  font-size: 34px;
  line-height: 1.08;
  text-wrap: pretty;
}
.cory-our-story .cory-our-story__portrait {
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: #f4f1ee;
}
.cory-our-story .cory-our-story__founder--coco img { object-position: 50% 20%; }
.cory-our-story .cory-our-story__founder--chanel img { object-position: 20% 50%; }
.cory-our-story .cory-our-story__founder-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 14px;
  padding: 32px 20px 40px;
}
.cory-our-story .cory-our-story__founder-copy h2,
.cory-our-story .cory-our-story__fact h2 {
  font-size: 26px;
  line-height: 1.2;
}
.cory-our-story .cory-our-story__founder-copy > p:last-child {
  font-size: 17px;
  line-height: 1.55;
  color: #555555;
}
.cory-our-story .cory-our-story__fact {
  padding: 24px 20px 48px;
  text-align: center;
}
.cory-our-story .cory-our-story__fact h2 { text-wrap: pretty; }
.cory-our-story .cory-our-story__name { padding: 0 20px 48px; }
.cory-our-story .cory-our-story__name > h2 {
  margin-bottom: 12px;
  text-align: center;
}
.cory-our-story .cory-our-story__name-tiles {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.cory-our-story .cory-our-story__name-tile {
  display: flex;
  flex-direction: column;
  gap: 6px;
  border: 1px solid #e3ded9;
  padding: 22px 18px;
}
.cory-our-story .cory-our-story__name-tile strong {
  font-size: 44px;
  font-weight: 700;
  line-height: 1;
}
.cory-our-story .cory-our-story__name-tile:last-child strong { color: #a45f52; }
.cory-our-story .cory-our-story__name-tile span { color: #555555; }
.cory-our-story .cory-our-story__off-clock,
.cory-our-story .cory-our-story__made {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 40px 20px;
}
.cory-our-story .cory-our-story__off-clock { background: #f4f1ee; }
.cory-our-story .cory-our-story__off-clock-heading {
  display: flex;
  flex-direction: column;
  gap: 20px;
  max-width: 760px;
}
.cory-our-story .cory-our-story__off-clock h2 {
  font-size: 24px;
  line-height: 1.25;
}
.cory-our-story .cory-our-story__photo-strip {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.cory-our-story .cory-our-story__photo {
  aspect-ratio: 3 / 4;
  overflow: hidden;
  background: #e7e1db;
}
.cory-our-story .cory-our-story__photo--coco-bjj-medal img { object-position: 50% 30%; }
.cory-our-story .cory-our-story__made-grid {
  display: grid;
  gap: 16px;
}
.cory-our-story .cory-our-story__made-card {
  display: flex;
  align-items: center;
  gap: 14px;
}
.cory-our-story .cory-our-story__detail {
  width: 96px;
  height: 72px;
  flex: 0 0 auto;
  overflow: hidden;
  background: #f4f1ee;
}
.cory-our-story .cory-our-story__detail--coco-rust-set-pack img { object-position: 50% 40%; }
.cory-our-story .cory-our-story__detail--coco-fleece img { object-position: 50% 60%; }
.cory-our-story .cory-our-story__detail--coco-rust-close img { object-position: 50% 30%; }
.cory-our-story .cory-our-story__made-card p { font-weight: 600; }
.cory-our-story .cory-our-story__close {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
  padding: 16px 20px 72px;
}
.cory-our-story .cory-our-story__close h2 {
  max-width: 900px;
  font-size: 22px;
  font-weight: 500;
  line-height: 1.35;
  text-wrap: pretty;
}
.cory-our-story .cory-our-story__shop-button {
  display: inline-block;
  margin: 0;
  padding: 16px 28px;
  border: 0;
  border-radius: 0;
  background: #333333;
  color: #ffffff;
  font-family: inherit;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: normal;
  text-transform: none;
  text-decoration: none;
}
.cory-our-story .cory-our-story__shop-button:focus-visible {
  outline: 2px solid #a45f52;
  outline-offset: 4px;
}
@media screen and (min-width: 768px) {
  .cory-our-story .cory-our-story__eyebrow { font-size: 14px; }
  .cory-our-story .cory-our-story__hero { height: 860px; }
  .cory-our-story .cory-our-story__hero::after {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 45%, rgba(0, 0, 0, 0.55) 100%);
  }
  .cory-our-story .cory-our-story__hero-copy {
    left: 5.555556%;
    right: 5.555556%;
    bottom: 72px;
    gap: 14px;
  }
  .cory-our-story h1 { max-width: 900px; font-size: 64px; line-height: 1.05; }
  .cory-our-story .cory-our-story__founder {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .cory-our-story .cory-our-story__founder--chanel .cory-our-story__portrait {
    grid-column: 2;
    grid-row: 1;
  }
  .cory-our-story .cory-our-story__founder--chanel .cory-our-story__founder-copy {
    grid-column: 1;
    grid-row: 1;
  }
  .cory-our-story .cory-our-story__founder-copy { gap: 24px; padding: 6.666667vw; }
  .cory-our-story .cory-our-story__founder-copy h2 { font-size: 40px; line-height: 1.15; }
  .cory-our-story .cory-our-story__founder-copy > p:last-child { font-size: 20px; }
  .cory-our-story .cory-our-story__fact { padding: 120px 5.555556%; }
  .cory-our-story .cory-our-story__fact h2 {
    max-width: 1000px;
    margin: 0 auto;
    font-size: 44px;
    line-height: 1.15;
  }
  .cory-our-story .cory-our-story__name { padding: 0 5.555556% 120px; }
  .cory-our-story .cory-our-story__name > h2 { margin-bottom: 40px; }
  .cory-our-story .cory-our-story__name-tiles { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
  .cory-our-story .cory-our-story__name-tile { padding: 40px 2.222222vw; gap: 12px; }
  .cory-our-story .cory-our-story__name-tile strong { font-size: 72px; }
  .cory-our-story .cory-our-story__name-tile span { font-size: 20px; }
  .cory-our-story .cory-our-story__off-clock,
  .cory-our-story .cory-our-story__made { padding: 96px 5.555556%; gap: 40px; }
  .cory-our-story .cory-our-story__off-clock-heading { gap: 12px; }
  .cory-our-story .cory-our-story__off-clock h2 { font-size: 36px; line-height: 1.2; }
  .cory-our-story .cory-our-story__photo-strip { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
  .cory-our-story .cory-our-story__made-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
  .cory-our-story .cory-our-story__made-card { flex-direction: column; align-items: stretch; gap: 16px; }
  .cory-our-story .cory-our-story__detail { width: 100%; height: auto; aspect-ratio: 4 / 3; }
  .cory-our-story .cory-our-story__made-card p { font-size: 18px; }
  .cory-our-story .cory-our-story__close { padding: 40px 5.555556% 140px; align-items: center; gap: 28px; text-align: center; }
  .cory-our-story .cory-our-story__close h2 { font-size: 32px; line-height: 1.3; }
  .cory-our-story .cory-our-story__shop-button { padding: 16px 32px; }
}
/* === END CORY OUR STORY === */

/* CORY legal accessibility fixes, 2026-10-11. No target-size changes. */
:root body :focus-visible {
  outline: 2px solid #1b1f20;
  outline-offset: 3px;
}
:root body footer :focus-visible { outline-color: #ffffff; }
.swatch input[type="radio"] {
  display: block;
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  border: 0;
}
:root body .swatch input[type="radio"]:focus-visible + label {
  outline: 2px solid #1b1f20;
  outline-offset: 3px;
}
.template-search:not(.js-drawer-open-right) h2.search-result-type,
.template-search:not(.js-drawer-open-right) .search-result-type.h2 {
  color: #757778;
  opacity: 1;
}
#NavDrawer {
  visibility: hidden;
  transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1) 0.1s, visibility 0s linear 0.7s;
}
.js-drawer-open-left #NavDrawer {
  visibility: visible;
  transition-delay: 0.1s, 0s;
}
button.mobile-menu--close-btn {
  border: 0;
  padding: 0;
  background: transparent;
  cursor: pointer;
}
.cory-seller-details, .cory-seller-details a {
  font-size: inherit;
  color: inherit;
}
.cory-seller-details a { text-decoration: underline; }
.qty-error:empty, #CoryCartStatus:empty { margin: 0; padding: 0; border: 0; background: transparent; }

/* CORY legal fix 9b: search-page footer link contrast (2026-10-11) */
.template-search:not(.js-drawer-open-right) .footer-content a,
.template-search:not(.js-drawer-open-right) .footer-article a {
  color: var(--color-footer-text-darken10);
}
.template-search:not(.js-drawer-open-right) .bottom--footer a {
  color: #bbbbbb;
}
.template-search:not(.js-drawer-open-right) .cory-seller-details a {
  color: inherit;
}
