/** Shopify CDN: Minification failed

Line 532:0 Expected percentage but found "@keyframes"
Line 662:0 Unexpected "}"
Line 689:0 Unexpected "10%"
Line 690:2 Unexpected "80%"
Line 691:0 Unexpected "}"

**/
*{margin:0;padding:0;box-sizing:border-box;}
:root{
  --navy:#1e3a8c;
  --navy-deep:#142a6e;
  --offwhite:#f5f3ee;
  --offwhite-warm:#ede9df;
  --ink:#0e0c08;
  --rule:#d8d2c4;
  --dim:#7a7158;
  --red:#b6342d;
}
html,body{
  background:var(--offwhite);color:var(--navy-deep);
  font-family:'IBM Plex Mono',monospace;font-weight:400;
  -webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%;}

/* TICKER */
.ticker{
  position:sticky;top:0;z-index:50;
  background:var(--navy-deep);color:var(--offwhite);
  height:44px;display:flex;align-items:center;overflow:hidden;
  border-bottom:1px solid rgba(255,255,255,.1);
  font-family:'IBM Plex Mono',monospace;
  font-size:11px;letter-spacing:.06em;text-transform:uppercase;
}
.ticker-track{display:flex;animation:tick 60s linear infinite;white-space:nowrap;padding-left:0;}
.ticker-track span{padding:0 32px;opacity:.85;}
@keyframes tick{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* NAV */
.nav{
  position:sticky;top:44px;z-index:40;
  display:flex;justify-content:space-between;align-items:center;
  padding:18px 4vw;
  background:var(--offwhite);
  border-bottom:1px solid var(--rule);
}
.nav-logo img{
  height:48px;width:auto;
  filter:brightness(0) saturate(100%) invert(13%) sepia(48%) saturate(2400%) hue-rotate(214deg) brightness(80%) contrast(95%);
}
.nav-right{display:flex;gap:32px;align-items:center;}
.nav-right a{
  font-family:'IBM Plex Mono',monospace;font-weight:500;font-size:12px;
  letter-spacing:.18em;text-transform:uppercase;
  color:var(--navy-deep);text-decoration:none;
}
.nav-right a.cart{
  font-family:'IBM Plex Mono',monospace;font-weight:500;
}

/* HERO */
.hero{
  position:relative;
  min-height:calc(100vh - 44px - 65px);
  background:var(--offwhite);
  display:grid;grid-template-columns:1fr 1fr;
  overflow:hidden;
}
.hero-left{
  padding:8vh 5vw;
  display:flex;flex-direction:column;justify-content:space-between;
  position:relative;
}
.hero-eyebrow{
  font-family:'IBM Plex Mono',monospace;
  font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--dim);
}
.hero-eyebrow::before{content:"// ";opacity:.6;}
.hero-headline{
  font-family:'IBM Plex Mono',monospace;
  font-weight:700;
  font-size:clamp(56px,8.5vw,128px);
  line-height:.92;letter-spacing:-.035em;
  color:var(--navy-deep);
  margin-top:auto;margin-bottom:.4em;
}
.hero-headline .it{font-weight:300;font-style:italic;letter-spacing:-.025em;}
.hero-sub{
  font-family:'IBM Plex Mono',monospace;font-weight:400;
  font-size:clamp(17px,1.4vw,20px);line-height:1.5;
  color:var(--navy-deep);max-width:30em;
  margin-bottom:2.4em;
}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;}
.btn{
  display:inline-flex;align-items:center;gap:10px;
  font-family:'IBM Plex Mono',monospace;font-weight:500;font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  padding:14px 22px;
  text-decoration:none;cursor:pointer;
  border:1px solid var(--navy-deep);
  transition:all .15s;
}
.btn-primary{background:var(--navy-deep);color:var(--offwhite);}
.btn-primary:hover{background:var(--navy);}
.btn-secondary{background:transparent;color:var(--navy-deep);}
.btn-secondary:hover{background:var(--navy-deep);color:var(--offwhite);}

.hero-right{
  position:relative;background:var(--offwhite-warm);
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
}
.hero-right img{
  width:95%;height:95%;object-fit:contain;
  mix-blend-mode:multiply;
}
.hero-tag{
  position:absolute;top:5vh;right:5vw;
  font-family:'IBM Plex Mono',monospace;
  font-weight:500;font-size:10px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--offwhite);
  background:var(--navy-deep);padding:.55em 1em;
  z-index:3;
}
.hero-caption{
  position:absolute;bottom:5vh;right:5vw;text-align:right;
  font-family:'IBM Plex Mono',monospace;
  font-size:11px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--navy);line-height:1.8;
}
.hero-caption::before{content:"// ";opacity:.6;}

/* — SECTION FRAMEWORK — */
section{padding:12vh 5vw;border-bottom:1px solid var(--rule);}
section.alt{background:var(--offwhite-warm);}
section.navy{background:var(--navy-deep);color:var(--offwhite);border-bottom-color:rgba(255,255,255,.1);}
section.navy .section-label{color:rgba(245,243,238,.5);}
section.navy .section-title{color:var(--offwhite);}
section.navy .body{color:rgba(245,243,238,.85);}
section.navy .body em{color:rgba(245,243,238,.7);}
section.navy .body strong{color:var(--offwhite);font-weight:500;}

.section-head{
  display:flex;justify-content:space-between;align-items:baseline;
  margin-bottom:6vh;
  flex-wrap:wrap;gap:24px;
}
.section-label{
  font-family:'IBM Plex Mono',monospace;
  font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--dim);
}
.section-label::before{content:"// ";opacity:.6;}
.section-title{
  font-family:'IBM Plex Mono',monospace;
  font-weight:500;
  font-size:clamp(20px,2.4vw,32px);
  line-height:1.3;letter-spacing:.01em;
  color:var(--navy);max-width:22em;
}
.section-title .it{font-weight:400;font-style:italic;letter-spacing:.005em;color:var(--navy);}
.section-link{
  font-family:'IBM Plex Mono',monospace;font-weight:500;font-size:11px;
  letter-spacing:.12em;text-transform:uppercase;
  color:var(--navy-deep);text-decoration:none;
  display:inline-flex;align-items:center;gap:8px;
  border-bottom:1px solid var(--navy-deep);padding-bottom:4px;
}
.section-link:hover{color:var(--navy);}

.body{
  font-family:'IBM Plex Mono',monospace;font-weight:300;
  font-size:clamp(13px,1.05vw,15px);line-height:1.75;letter-spacing:-.005em;
  color:var(--ink);max-width:42em;
}
.body em{font-style:italic;font-weight:400;color:var(--navy);}
.body strong{font-style:normal;font-weight:500;color:var(--navy);}

/* — DELIVERY (current fragments grid) — */
.delivery-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
}
.fragment{
  background:var(--offwhite);
  display:flex;flex-direction:column;
  border:1px solid var(--rule);
  cursor:pointer;transition:transform .25s;
}
.fragment:hover{transform:translateY(-4px);}
.fragment-img{
  aspect-ratio:4/5;
  background:var(--offwhite-warm);
  position:relative;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
}
.fragment-img img{
  width:100%;height:100%;
  object-fit:contain;padding:8%;
}
.fragment-img.dark{background:var(--navy-deep);}
.fragment-img.coral{background:#d97179;}
.fragment-img.royal{background:#1e4ed8;}
.fragment-code{
  position:absolute;top:14px;left:14px;
  font-family:'IBM Plex Mono',monospace;
  font-size:10px;letter-spacing:.14em;text-transform:uppercase;
  background:var(--navy-deep);color:var(--offwhite);
  padding:6px 10px;
}
.fragment-meta{
  padding:20px 22px 22px;
  display:flex;flex-direction:column;gap:6px;
}
.fragment-name{
  font-family:'IBM Plex Mono',monospace;font-weight:500;
  font-size:14px;letter-spacing:.02em;
  color:var(--navy);
}
.fragment-spec{
  font-family:'IBM Plex Mono',monospace;
  font-size:11px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--dim);line-height:1.6;
}
.fragment-bottom{
  display:flex;justify-content:space-between;align-items:center;
  margin-top:12px;padding-top:12px;
  border-top:1px solid var(--rule);
}
.fragment-price{
  font-family:'IBM Plex Mono',monospace;font-weight:500;
  font-size:13px;letter-spacing:.06em;color:var(--navy-deep);
}
.fragment-stock{
  font-family:'IBM Plex Mono',monospace;
  font-size:10px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--dim);
}

/* — PHILOSOPHY (two-up) — */
.philosophy{
  display:grid;grid-template-columns:5fr 6fr;gap:60px;align-items:center;
}
.philosophy-img{
  aspect-ratio:4/5;background:var(--offwhite-warm);
  display:flex;align-items:center;justify-content:center;
  position:relative;overflow:hidden;
}
.philosophy-img img{width:100%;height:100%;object-fit:cover;}
.philosophy-text .body{margin-top:2em;max-width:32em;}
.philosophy-text .body + .body{margin-top:1.4em;}

/* — ARCHIVE (full bleed image with caption) — */
.archive-bleed{
  position:relative;height:90vh;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
  background:var(--offwhite);
  margin:0 -5vw;
}
.archive-bleed img{width:auto;height:90%;object-fit:contain;}
.archive-caption{
  position:absolute;bottom:6vh;left:6vw;max-width:32em;
}
.archive-caption .caption-label{
  font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.08em;
  text-transform:uppercase;color:var(--navy);margin-bottom:.6em;
}
.archive-caption .caption-label::before{content:"// ";opacity:.6;}
.archive-caption .caption-body{
  font-family:'IBM Plex Mono',monospace;font-weight:300;
  font-size:13px;line-height:1.7;color:var(--ink);letter-spacing:.005em;
}

/* — JEWELRY split — */
.jewelry{
  display:grid;grid-template-columns:1fr 1fr;gap:0;
  margin:0 -5vw;
}
.jewelry-img{
  background:var(--offwhite-warm);min-height:80vh;
  display:flex;align-items:center;justify-content:center;position:relative;
}
.jewelry-img img{max-width:75%;max-height:75%;object-fit:contain;}
.jewelry-text{
  padding:8vh 6vw;
  display:flex;flex-direction:column;justify-content:center;gap:2em;
  background:var(--offwhite);
}

/* — JOURNAL grid — */
.journal-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:32px;
}
.journal-card{
  display:flex;flex-direction:column;gap:14px;cursor:pointer;
}
.journal-img{
  aspect-ratio:4/3;background:var(--offwhite-warm);overflow:hidden;
}
.journal-img img{width:100%;height:100%;object-fit:cover;}
.journal-date{
  font-family:'IBM Plex Mono',monospace;
  font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--dim);
}
.journal-title{
  font-family:'IBM Plex Mono',monospace;font-weight:500;
  font-size:15px;line-height:1.5;letter-spacing:.01em;
  color:var(--navy);
}
.journal-title .it{font-weight:400;font-style:italic;color:var(--navy);}
.journal-excerpt{
  font-family:'IBM Plex Mono',monospace;font-weight:300;
  font-size:12.5px;line-height:1.7;color:var(--dim);letter-spacing:.005em;
  margin-top:2px;
}

/* — NEWSLETTER strip — */
.newsletter{
  padding:8vh 5vw;background:var(--navy-deep);color:var(--offwhite);
  display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;
}
.newsletter-headline{
  font-family:'IBM Plex Mono',monospace;font-weight:500;
  font-size:clamp(18px,2.2vw,28px);line-height:1.4;letter-spacing:.01em;
}
.newsletter-headline .it{font-weight:400;font-style:italic;}
.newsletter-form{display:flex;gap:0;}
.newsletter-form input{
  flex:1;background:transparent;border:none;
  border-bottom:1px solid rgba(245,243,238,.4);
  padding:14px 0;color:var(--offwhite);
  font-family:'IBM Plex Mono',monospace;font-weight:300;font-size:14px;
  letter-spacing:.01em;outline:none;
}
.newsletter-form input::placeholder{color:rgba(245,243,238,.45);}
.newsletter-form button{
  background:transparent;border:none;color:var(--offwhite);
  font-family:'IBM Plex Mono',monospace;font-weight:500;font-size:11px;
  letter-spacing:.12em;text-transform:uppercase;padding:14px 22px;
  border-bottom:1px solid var(--offwhite);cursor:pointer;
}

/* — FOOTER — */
.footer{
  background:var(--navy-deep);color:var(--offwhite);
  padding:8vh 5vw 4vh;
}
.footer-top{
  display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;
  margin-bottom:8vh;
}
.footer-logo img{width:200px;filter:brightness(0) invert(1);opacity:.96;}
.footer-tagline{
  font-family:'IBM Plex Mono',monospace;font-style:italic;font-weight:300;
  font-size:13px;line-height:1.7;letter-spacing:.01em;
  color:rgba(245,243,238,.78);max-width:22em;margin-top:1.4em;
}
.footer-col h4{
  font-family:'IBM Plex Mono',monospace;font-weight:500;
  font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(245,243,238,.55);margin-bottom:1.4em;
}
.footer-col h4::before{content:"// ";opacity:.6;}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:.8em;}
.footer-col a{
  font-family:'IBM Plex Mono',monospace;font-weight:400;font-size:12.5px;
  color:var(--offwhite);text-decoration:none;letter-spacing:.005em;
}
.footer-col a:hover{color:rgba(245,243,238,.65);}
.footer-bottom{
  border-top:1px solid rgba(245,243,238,.15);
  padding-top:3vh;
  display:flex;justify-content:space-between;align-items:center;
  font-family:'IBM Plex Mono',monospace;font-size:11px;
  letter-spacing:.08em;text-transform:uppercase;
  color:rgba(245,243,238,.5);flex-wrap:wrap;gap:16px;
}

/* — MOBILE — */
@media (max-width: 900px){
  .hero{grid-template-columns:1fr;}
  .hero-right{min-height:60vh;order:-1;}
  .hero-left{padding:6vh 7vw;}
  .delivery-grid{grid-template-columns:1fr;}
  .philosophy{grid-template-columns:1fr;gap:32px;}
  .jewelry{grid-template-columns:1fr;}
  .journal-grid{grid-template-columns:1fr;}
  .newsletter{grid-template-columns:1fr;gap:32px;}
  .footer-top{grid-template-columns:1fr 1fr;}
  section{padding:9vh 6vw;}
  .section-head{margin-bottom:5vh;}
  .nav{padding:16px 6vw;}
  .nav-right{gap:16px;}
  .nav-right a{font-size:10px;letter-spacing:.14em;}
}

/* — FABRIC & EMBROIDERY GRID — */
.fabric-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
}
.fabric-card{
  display:flex;flex-direction:column;
}
.fabric-img{
  aspect-ratio:1/1;
  overflow:hidden;position:relative;
  display:flex;align-items:center;justify-content:center;
}
.fabric-img img{
  width:100%;height:100%;object-fit:cover;
}
.fabric-card figcaption{
  padding:18px 4px 0;
  display:flex;flex-direction:column;gap:6px;
}
.fabric-tag{
  font-family:'IBM Plex Mono',monospace;font-weight:500;
  font-size:10px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--navy);
}
.fabric-tag::before{content:"// ";opacity:.6;}
.fabric-spec{
  font-family:'IBM Plex Mono',monospace;
  font-size:11px;letter-spacing:.05em;text-transform:uppercase;
  color:var(--dim);line-height:1.7;
}
@media (max-width: 900px){
  .fabric-grid{grid-template-columns:1fr;}
}


/* — HERO (split, no overlap) — */
.hero-massive{
  position:relative;
  min-height:calc(100vh - 44px - 65px);
  background:var(--offwhite);
  display:grid;grid-template-columns:1.05fr 1fr;
  overflow:hidden;
}
.hero-left-col{
  padding:6vh 4vw;
  display:flex;flex-direction:column;justify-content:space-between;
  position:relative;
  z-index:2;
}
.hero-right-col{
  position:relative;
  background:var(--offwhite-warm);
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
}
.hero-right-col img{
  width:92%;height:92%;
  object-fit:contain;
  mix-blend-mode:multiply;
}
.hero-img-tag{
  position:absolute;top:4vh;right:4vw;
  font-family:'IBM Plex Mono',monospace;
  font-weight:500;font-size:10px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--offwhite);
  background:var(--navy-deep);padding:.55em 1em;
  z-index:3;
}
.hero-img-caption{
  position:absolute;bottom:4vh;right:4vw;text-align:right;
  font-family:'IBM Plex Mono',monospace;
  font-size:11px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--navy);line-height:1.8;opacity:.7;
}
.hero-img-caption::before{content:"// ";opacity:.6;}

.hero-eyebrow{
  font-family:'IBM Plex Mono',monospace;
  font-size:12px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--dim);
}

.hero-massive-headline{
  font-family:'IBM Plex Mono',monospace;
  font-weight:500;
  font-size:clamp(28px,3.5vw,52px);
  line-height:.92;letter-spacing:-.035em;
  color:var(--navy-deep);
  margin:auto 0;
}
.hero-massive-headline .line-1,
.hero-massive-headline .line-2{display:block;}
.hero-massive-headline .line-1{animation:slideUp 1.1s cubic-bezier(.2,.7,.2,1) both;}
.hero-massive-headline .line-2{animation:slideUp 1.1s cubic-bezier(.2,.7,.2,1) .15s both;}
@keyframes slideUp{
  from{opacity:0;transform:translateY(40px);}
  to{opacity:1;transform:translateY(0);}
}

/* word swap */
.word-swap{
  position:relative;display:inline-block;
  font-weight:300;font-style:italic;
  letter-spacing:-.025em;
  color:var(--navy);
  min-width:7ch;
}
.word-swap .swap-word{
  position:absolute;left:0;top:0;
  white-space:nowrap;
  opacity:0;transform:translateY(10px);
  transition:opacity 1.2s ease, transform 1.2s ease;
}
.word-swap .swap-word.active{
  position:relative;opacity:1;transform:translateY(0);
  animation:swapIn 1.2s cubic-bezier(.2,.7,.2,1);
}
.hero-immersive-headline .word-swap .swap-word.active{
  position:relative;
}
.hero-immersive-headline .word-swap .swap-word.active::after{
  content:"";
  position:absolute;
  left:0;right:.05em;
  bottom:-.05em;
  height:1.5px;
  background:var(--navy);
  transform-origin:left center;
  animation:underlineDraw 1.8s cubic-bezier(.55,.15,.25,1) .4s both;
}
@keyframes swapIn{
  from{opacity:0;transform:translateY(10px);}
@keyframes underlineDraw{
  0%{transform:scaleX(0);opacity:0;}
  20%{opacity:1;}
  100%{transform:scaleX(1);opacity:1;}
}

  to{opacity:1;transform:translateY(0);}
}

.hero-bottom{
  display:flex;flex-direction:column;gap:1.6em;
}
.hero-sub{
  font-family:'IBM Plex Mono',monospace;font-weight:300;
  font-size:clamp(12px,.95vw,14px);line-height:1.75;letter-spacing:.005em;
  color:var(--ink);max-width:38em;
}
.hero-sub em{font-style:italic;color:var(--navy);font-weight:400;}
.hero-sub strong{font-style:normal;color:var(--navy);font-weight:500;}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;}

@media (max-width: 900px){
  .hero-massive{grid-template-columns:1fr;}
  .hero-right-col{min-height:50vh;order:-1;}
  .hero-left-col{padding:5vh 6vw;gap:3em;}
  .hero-massive-headline{font-size:clamp(38px,9vw,64px);}
  .marquee-track{font-size:clamp(32px,9vw,60px);}
}


/* — HERO WATERMARK LOGO — */
.hero-watermark{
  position:absolute;
  inset:0;
  display:flex;align-items:center;justify-content:center;
  pointer-events:none;
  z-index:0;
  overflow:hidden;
}
.hero-watermark img{
  width:180%;height:auto;
  max-width:none;
  filter:brightness(0) saturate(100%) invert(13%) sepia(48%) saturate(2400%) hue-rotate(214deg) brightness(80%) contrast(95%);
  opacity:.05;
  transform:rotate(-4deg) translateX(-5%);
  animation:watermarkFloat 14s ease-in-out infinite;
}
@keyframes watermarkFloat{
  0%, 100%{transform:rotate(-4deg) translateX(-5%) translateY(0);}
  50%{transform:rotate(-3deg) translateX(-3%) translateY(-12px);}
}
.hero-right-col > img,
.hero-right-col > .hero-img-tag,
.hero-right-col > .hero-img-caption{
  position:relative;z-index:1;
}

/* — EDITORIAL CURSOR (Mono label only, no symbol) — */
@media (hover: hover) and (pointer: fine){
  /* keep default cursor so users still see standard arrow */
  
  .cursor-ring{
    display:none;
  }
  
  .cursor-label{
    position:fixed;
    top:0;left:0;
    transform:translate(18px, 18px);
    pointer-events:none;
    z-index:9999;
    font-family:'IBM Plex Mono',monospace;
    font-weight:500;
    font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;
    color:var(--navy);
    padding:5px 9px;
    background:transparent;
    border:none;
    white-space:nowrap;
    opacity:0;
    transition:opacity .25s ease, transform .25s cubic-bezier(.2,.7,.2,1);
  }
  .cursor-label.visible{opacity:.85;}
  .cursor-label.on-dark{
    color:#d9e635;
  }
  .cursor-label::before{
    content:"// ";
    opacity:.55;
  }
}

/* tiny O dot inside the ring */
  .cursor-ring::before{
    content:"";
    position:absolute;
    top:50%;left:50%;
    width:4px;height:4px;
    border-radius:50%;
    background:var(--navy);
    transform:translate(-50%,-50%);
    transition:opacity .2s;
  }
  .cursor-ring.hovering::before{opacity:0;}
  .cursor-ring.on-dark::before{background:var(--offwhite);}
  
  .cursor-label{
    position:fixed;
    top:0;left:0;
    transform:translate(20px, 14px);
    pointer-events:none;
    z-index:9999;
    font-family:'IBM Plex Mono',monospace;
    font-weight:500;
    font-size:11px;letter-spacing:.06em;text-transform:uppercase;
    color:var(--navy);
    background:var(--offwhite);
    padding:5px 9px;
    border:1px solid var(--navy);
    white-space:nowrap;
    opacity:0;
    transition:opacity .2s, transform .25s cubic-bezier(.2,.7,.2,1);
  }
  .cursor-label.visible{opacity:1;}
  .cursor-label.on-dark{
    color:var(--offwhite);
    background:var(--navy-deep);
    border-color:var(--offwhite);
  }
  .cursor-label::before{content:"// ";opacity:.6;}
}

@media (max-width: 900px){
  .hero-watermark img{width:140%;opacity:.05;}
}


/* — HERO SCRIPT LOGO (fades in on load, visible) — */
.hero-script{
  position:absolute;
  bottom:6vh;left:4vw;
  z-index:2;
  pointer-events:none;
  opacity:0;
  animation:scriptFadeIn 1.4s cubic-bezier(.2,.7,.2,1) 1.2s forwards;
}
.hero-script img{
  width:clamp(160px, 22vw, 320px);
  height:auto;
  display:block;
}
@keyframes scriptFadeIn{
  0%{opacity:0;transform:translateY(20px);}
  100%{opacity:.85;transform:translateY(0);}
}

/* — TICKER LABEL: BLINK IN AND OUT — */
10%, 70%{opacity:1;transform:translateX(0);}
  80%, 100%{opacity:0;transform:translateX(-12px);}
}

@media (max-width: 900px){
  .hero-script img{width:clamp(120px, 32vw, 200px);}
  .hero-script{bottom:3vh;left:6vw;}
}


/* — IMMERSIVE HERO — */
.hero-immersive{
  position:relative;
  min-height:calc(100vh - 44px - 65px);
  overflow:hidden;
  background:var(--navy-deep);
}
.hero-immersive-bg{
  position:absolute;inset:0;
  z-index:1;
}
.hero-immersive-img{
  width:100%;height:100%;
  object-fit:cover;
  object-position:center center;
  filter:saturate(.88) contrast(1.02);
}
@keyframes imgFadeIn{
  from{opacity:0;transform:scale(1.04);}
  to{opacity:1;transform:scale(1);}
}
.hero-immersive-gradient{
  display:none;
}
.hero-immersive-content{
  position:relative;z-index:2;
  min-height:calc(100vh - 44px - 65px);
  padding:5vh 4vw;
  display:flex;flex-direction:column;
  color:var(--navy-deep);
}

/* top: statement + meta */
.hero-immersive-top{
  display:flex;justify-content:space-between;align-items:flex-start;
  flex-wrap:wrap;gap:24px;
  animation:fadeInDown 1.6s cubic-bezier(.2,.7,.2,1) .6s both;
}
@keyframes fadeInDown{
  from{opacity:0;transform:translateY(-12px);}
  to{opacity:1;transform:translateY(0);}
}
.hero-statement{
  display:flex;flex-direction:column;gap:.5em;align-items:flex-start;
  font-family:'IBM Plex Mono',monospace;
  font-weight:400;font-size:11.5px;
  letter-spacing:.05em;line-height:1.5;
  color:var(--navy);
  max-width:32em;
}
.hero-statement .line{display:block;}
.hero-meta{
  font-family:'IBM Plex Mono',monospace;
  font-size:11px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--navy);text-align:right;line-height:2;
}

/* center: massive headline */
.hero-immersive-center{
  flex:1;
  display:flex;align-items:center;
  padding:6vh 0;
}
.hero-immersive-headline{
  font-family:'IBM Plex Mono',monospace;
  font-weight:500;
  font-size:clamp(26px,3.8vw,56px);
  line-height:1.4;letter-spacing:.01em;
  color:var(--ink);
  text-align:center;
  max-width:22em;margin:0 auto;
}

.hero-immersive-headline .line-1{
  animation:slideUp 1.6s cubic-bezier(.2,.7,.2,1) 1.2s both;
}
.hero-immersive-headline .line-2{
  animation:slideUp 1.6s cubic-bezier(.2,.7,.2,1) 1.5s both;
}
.hero-immersive-headline .word-swap{
  position:relative;display:inline-block;
  letter-spacing:.005em;
  min-width:7ch;
  color:var(--navy);
}
.hero-immersive-headline .word-swap .swap-word{
  color:var(--navy);
  font-style:italic;
  font-weight:400;
}

/* bottom: CTA + caption */
.hero-immersive-bottom{
  display:flex;justify-content:space-between;align-items:flex-end;
  flex-wrap:wrap;gap:24px;
  animation:fadeInUp 1.6s cubic-bezier(.2,.7,.2,1) 2.2s both;
}
@keyframes fadeInUp{
  from{opacity:0;transform:translateY(12px);}
  to{opacity:1;transform:translateY(0);}
}
.hero-immersive-cta{display:flex;gap:14px;flex-wrap:wrap;}
.btn-light-primary{
  display:inline-flex;align-items:center;gap:10px;
  font-family:'IBM Plex Mono',monospace;font-weight:500;font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  padding:14px 22px;
  text-decoration:none;cursor:pointer;
  background:var(--navy-deep);
  color:var(--offwhite);
  border:1px solid var(--navy-deep);
  transition:all .2s;
}
.btn-light-primary:hover{
  background:transparent;color:var(--navy-deep);
}
.btn-light-secondary{
  display:inline-flex;align-items:center;gap:10px;
  font-family:'IBM Plex Mono',monospace;font-weight:500;font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  padding:14px 22px;
  text-decoration:none;cursor:pointer;
  background:transparent;color:var(--navy-deep);
  border:1px solid var(--navy-deep);
  transition:all .2s;
}
.btn-light-secondary:hover{
  background:var(--navy-deep);color:var(--offwhite);border-color:var(--navy-deep);
}
.hero-immersive-caption{
  font-family:'IBM Plex Mono',monospace;
  font-size:11px;letter-spacing:.08em;
  color:var(--navy);text-align:right;line-height:1.9;
}

/* script logo bottom right — signature */
.hero-script-overlay{
  position:absolute;
  bottom:14vh;right:4vw;
  z-index:3;
  pointer-events:none;
  opacity:0;
  animation:scriptOverlayIn 2s cubic-bezier(.2,.7,.2,1) 2.8s forwards;
}
.hero-script-overlay img{
  width:clamp(80px, 10vw, 130px);
  height:auto;
  display:block;
  filter:brightness(0) invert(1);
  opacity:.75;
}
@keyframes scriptOverlayIn{
  0%{opacity:0;transform:translateY(-12px) rotate(-2deg);}
  100%{opacity:.85;transform:translateY(0) rotate(0);}
}

@media (max-width: 900px){
  .hero-immersive-img{
  width:100%;height:100%;
  object-fit:cover;
  object-position:center center;
  filter:saturate(.88) contrast(1.02);
}
  .hero-immersive-headline{font-size:clamp(48px,13vw,84px);}
  .hero-immersive-top{flex-direction:column;}
  .hero-meta{text-align:left;}
  .hero-immersive-bottom{flex-direction:column;align-items:flex-start;}
  .hero-immersive-caption{text-align:left;}
  .hero-script-overlay{bottom:18vh;right:6vw;}
  .hero-script-overlay img{width:clamp(90px, 24vw, 140px);}
}


/* — INTRO STATEMENT — */
.intro-img{position:relative;}
.intro-img img{
  filter:saturate(.92);
}
.intro-img-tag{
  margin-top:14px;
  font-family:'IBM Plex Mono',monospace;
  font-size:11px;letter-spacing:.08em;
  color:var(--dim);line-height:1.7;
}
.intro-text{display:flex;flex-direction:column;}

@media (max-width: 900px){
  section .intro-img + .intro-text,
  section [style*="grid-template-columns:1fr 1.4fr"]{
    grid-template-columns:1fr !important;
    gap:40px !important;
  }
}


/* — NEON YELLOW HIGHLIGHT — animated stroke-on like a marker — */
:root{
  --neon:#e8f53d;
}
.hero-statement .line{
  display:inline-block;
}
.hero-statement .line,
.hero-meta,
.hero-immersive-caption{
  display:inline-block;
  background-image:linear-gradient(180deg, transparent 0%, transparent 14%, var(--neon) 14%, var(--neon) 88%, transparent 88%);
  background-repeat:no-repeat;
  background-size:0% 100%;
  background-position:0 0;
  padding:.05em .25em;
  margin-left:-.25em;
  margin-right:-.25em;
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
  transition:background-size .8s cubic-bezier(.6,.2,.2,1);
}
.hero-statement.lit .line,
.hero-meta.lit,
.hero-immersive-caption.lit{
  background-size:100% 100%;
}
/* stagger the highlight via per-line classes */
.hero-statement.lit .line:nth-child(1){transition-delay:0s;}
.hero-statement.lit .line:nth-child(2){transition-delay:.65s;}
.hero-meta.lit{transition-delay:1.35s;}
.hero-immersive-caption.lit{transition-delay:2.1s;}



/* — BRAND BIBLE SECTIONS — */
.material-poem{
  font-family:'IBM Plex Mono',monospace;
  font-size:clamp(20px,2.4vw,32px);
  font-weight:300;font-style:italic;
  line-height:1.5;letter-spacing:.005em;
  max-width:780px;
  margin:4vh 0;
  color:var(--offwhite);
}
.material-poem em{font-style:italic;color:#d9e635;font-weight:400;}

.refusal-list{
  list-style:none;
  margin-top:4vh;
  border-top:1px solid rgba(245,243,238,.15);
}
.refusal-list li{
  padding:24px 0;
  border-bottom:1px solid rgba(245,243,238,.15);
  display:flex;align-items:baseline;gap:24px;
}
.refusal-list .num{
  font-family:'IBM Plex Mono',monospace;
  font-size:11px;letter-spacing:.1em;
  color:rgba(245,243,238,.5);
  width:40px;flex-shrink:0;
}
.refusal-list .text{
  font-family:'IBM Plex Mono',monospace;
  font-size:clamp(18px,2vw,26px);
  font-weight:400;color:var(--offwhite);
  flex:1;letter-spacing:.01em;
}
.refusal-list .text .it{font-style:italic;font-weight:300;color:#d9e635;}

.naming-table{
  margin-top:3vh;
  border-top:1px solid var(--rule);
}
.naming-table .row{
  display:grid;
  grid-template-columns:120px 200px 1fr;
  gap:24px;
  padding:14px 0;
  border-bottom:1px solid var(--rule);
  align-items:baseline;
}
.naming-table .row.head{
  font-family:'IBM Plex Mono',monospace;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:var(--dim);
}
.naming-table .code{
  font-family:'IBM Plex Mono',monospace;
  font-size:12px;
  color:var(--navy);
  font-weight:500;
}
.naming-table .cat{
  font-family:'IBM Plex Mono',monospace;
  font-size:12px;color:var(--ink);
}
.naming-table .ex{
  font-family:'IBM Plex Mono',monospace;
  font-size:13px;color:var(--navy);font-style:italic;font-weight:300;
}

.status-list{margin-top:2vh;}
.status-row{
  display:flex;align-items:baseline;gap:24px;
  padding:14px 0;border-bottom:1px solid var(--rule);
}
.status-tag{
  font-family:'IBM Plex Mono',monospace;
  font-size:10px;text-transform:uppercase;letter-spacing:.12em;
  width:120px;flex-shrink:0;
  color:var(--navy);
}
.status-desc{
  font-family:'IBM Plex Mono',monospace;
  font-size:13px;font-weight:300;line-height:1.6;
  color:var(--ink);
  flex:1;letter-spacing:.005em;
}

.two-col{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:64px;
  margin-top:4vh;
}

.pull-quote{
  font-family:'IBM Plex Mono',monospace;
  font-size:clamp(18px,2.2vw,28px);
  font-weight:300;font-style:italic;
  line-height:1.4;letter-spacing:-.005em;
  max-width:36em;
  margin:3vh 0;
  color:var(--navy);
  position:relative;
  padding-left:32px;
  border-left:2px solid var(--navy);
}

@media (max-width:900px){
  .two-col{grid-template-columns:1fr;gap:32px;}
  .naming-table .row{grid-template-columns:80px 1fr;}
  .naming-table .row .ex{display:none;}
  .naming-table .row.head .ex{display:none;}
}


/* — HERO BIG LOGO (replaces headline) — */
.hero-logo-big{
  display:flex;align-items:center;justify-content:center;
  width:100%;
  opacity:0;
  animation:bigLogoIn 2s cubic-bezier(.2,.7,.2,1) 1.2s forwards;
}
.hero-logo-big img{
  width:clamp(280px, 50vw, 720px);
  height:auto;
  display:block;
}
@keyframes bigLogoIn{
  0%{opacity:0;transform:translateY(20px) scale(.96);}
  100%{opacity:1;transform:translateY(0) scale(1);}
}
@media (max-width: 900px){
  .hero-logo-big img{width:clamp(220px, 70vw, 420px);}
}


/* — NEON FLICKER (Lampenschalter Effekt) — */

/* Product code in fragment cards: dim navy → flicker on → solid neon glow */
.fragment-code{
  transition:color .25s, text-shadow .25s;
}
.fragment:hover .fragment-code,
.fragment:focus-within .fragment-code{
  animation:neonOn .9s steps(1) forwards;
  color:#d9e635;
  text-shadow:
    0 0 4px #d9e635,
    0 0 12px rgba(217,230,53,.7),
    0 0 22px rgba(217,230,53,.35);
}
@keyframes neonOn{
  0%{color:var(--navy);text-shadow:none;}
  8%{color:#d9e635;text-shadow:0 0 4px #d9e635;}
  14%{color:var(--navy);text-shadow:none;}
  18%{color:#d9e635;text-shadow:0 0 4px #d9e635, 0 0 8px rgba(217,230,53,.5);}
  24%{color:var(--navy);text-shadow:none;}
  28%{color:#d9e635;text-shadow:0 0 3px #d9e635;}
  34%{color:var(--navy);text-shadow:none;}
  100%{
    color:#d9e635;
    text-shadow:
      0 0 4px #d9e635,
      0 0 12px rgba(217,230,53,.7),
      0 0 22px rgba(217,230,53,.35);
  }
}

/* Refusal list — number + italic words light up on row hover */
.refusal-list li{
  cursor:default;
  transition:padding-left .3s cubic-bezier(.2,.7,.2,1);
}
.refusal-list li:hover{
  padding-left:12px;
}
.refusal-list .num,
.refusal-list .text .it{
  transition:color .25s, text-shadow .25s;
}
.refusal-list li:hover .num{
  animation:neonOnDark 1s steps(1) forwards;
  color:#d9e635;
  text-shadow:
    0 0 6px #d9e635,
    0 0 16px rgba(217,230,53,.7),
    0 0 28px rgba(217,230,53,.4);
}
.refusal-list li:hover .text .it{
  animation:neonOnDark 1.1s steps(1) .15s forwards;
  color:#d9e635;
  text-shadow:
    0 0 5px #d9e635,
    0 0 14px rgba(217,230,53,.55),
    0 0 24px rgba(217,230,53,.3);
}
@keyframes neonOnDark{
  0%{color:rgba(245,243,238,.5);text-shadow:none;}
  6%{color:#d9e635;text-shadow:0 0 5px #d9e635;}
  12%{color:rgba(245,243,238,.5);text-shadow:none;}
  18%{color:#d9e635;text-shadow:0 0 5px #d9e635, 0 0 10px rgba(217,230,53,.6);}
  24%{color:rgba(245,243,238,.5);text-shadow:none;}
  30%{color:#d9e635;text-shadow:0 0 4px #d9e635;}
  36%{color:rgba(245,243,238,.5);text-shadow:none;}
  100%{
    color:#d9e635;
    text-shadow:
      0 0 5px #d9e635,
      0 0 14px rgba(217,230,53,.6),
      0 0 24px rgba(217,230,53,.35);
  }
}

/* Fix initial color for refusal text italic (was #d9e635 by default) - want it dim until hover */
.refusal-list .text .it{
  color:rgba(245,243,238,.78);
  font-style:italic;font-weight:300;
}




/* — EMBROIDERY SVG SELF-DRAWING — */
.embroidery-demo{
  margin-top:4vh;
  margin-bottom:6vh;
  padding:6vh 5vw;
  background:var(--offwhite);
  border:1px solid rgba(245,243,238,.15);
}
.embroidery-label{
  font-family:'IBM Plex Mono',monospace;
  font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--navy);
  margin-bottom:4vh;
}
.embroidery-canvas{
  display:flex;align-items:center;justify-content:center;
  padding:2vh 0 4vh;
  position:relative;
}
.embroidery-svg{
  width:clamp(280px, 60vw, 720px);
  height:auto;
  display:block;
}
.embroidery-svg .stitch-fill{
  /* Reveal animation via clip-path */
  clip-path:inset(0 100% 0 0);
  transition:clip-path 3.5s cubic-bezier(.6,.1,.3,1);
}
.embroidery-svg .stitch-outline{
  opacity:0;
  transition:opacity .8s ease 3.2s;
}
.embroidery-demo.lit .stitch-fill{
  clip-path:inset(0 0% 0 0);
}
.embroidery-demo.lit .stitch-outline{
  opacity:.18;
  /* keep the navy logo as a faint guide */
}
.embroidery-meta{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:24px;
  padding-top:3vh;
  border-top:1px solid var(--rule);
}
.embroidery-meta > div{
  display:flex;flex-direction:column;gap:6px;
  font-family:'IBM Plex Mono',monospace;
  font-size:11px;
}
.embroidery-meta .k{
  color:var(--dim);
  letter-spacing:.08em;text-transform:uppercase;
  font-size:10px;
}
.embroidery-meta .v{
  color:var(--ink);
  font-weight:400;
  font-size:12px;
}

@media (max-width: 900px){
  .embroidery-meta{grid-template-columns:1fr 1fr;}
}


/* — LOOKBOOK STRIP — */
.lookbook{background:var(--offwhite);}
.lookbook-head{
  display:flex;justify-content:space-between;align-items:flex-end;
  margin-bottom:4vh;flex-wrap:wrap;gap:24px;
}
.lookbook-scrollhint{
  font-family:'IBM Plex Mono',monospace;
  font-size:11px;letter-spacing:.06em;color:var(--dim);
}
.lookbook-track{
  display:flex;gap:24px;
  padding:0 5vw;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-padding-left:5vw;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
  scrollbar-color:var(--navy) transparent;
}
.lookbook-track::-webkit-scrollbar{height:6px;}
.lookbook-track::-webkit-scrollbar-track{background:transparent;}
.lookbook-track::-webkit-scrollbar-thumb{background:var(--navy);border-radius:0;}

.lookbook-item{
  flex:0 0 auto;
  width:clamp(280px, 32vw, 460px);
  scroll-snap-align:start;
  cursor:grab;
}
.lookbook-item:active{cursor:grabbing;}
.lookbook-img{
  position:relative;
  aspect-ratio:4/5;
  background:#ede7d3;
  overflow:hidden;
}
.lookbook-img img{
  width:100%;height:100%;
  object-fit:cover;
  display:block;
  transition:transform .8s cubic-bezier(.2,.7,.2,1);
}
.lookbook-item:hover .lookbook-img img{
  transform:scale(1.04);
}
.lookbook-tag{
  position:absolute;
  top:14px;left:14px;
  font-family:'IBM Plex Mono',monospace;
  font-size:10px;letter-spacing:.08em;text-transform:uppercase;
  background:var(--navy-deep);
  color:var(--offwhite);
  padding:5px 9px;
}
.lookbook-tag.mood{
  background:transparent;
  border:1px solid var(--navy-deep);
  color:var(--navy-deep);
}
.lookbook-cap{
  display:flex;justify-content:space-between;align-items:baseline;
  margin-top:14px;gap:16px;
  font-family:'IBM Plex Mono',monospace;
}
.lookbook-num{
  font-size:10px;letter-spacing:.1em;
  color:var(--dim);
}
.lookbook-title{
  font-size:13px;
  color:var(--navy);
}

@media (max-width:900px){
  .lookbook-item{width:80vw;}
}


/* — TYPE-OUT MANIFESTO — */
.typeout{
  position:relative;
}
.typeout .typeout-text{
  visibility:hidden;
}
.typeout.typing .typeout-text{
  visibility:visible;
}
.typeout .typeout-caret{
  display:none;
}
.typeout.typing .typeout-caret{
  display:inline-block;
  width:.5ch;
  height:1.1em;
  vertical-align:text-bottom;
  margin-left:2px;
  background:var(--navy);
  animation:caretBlink .9s steps(1) infinite;
  position:relative;
  top:.15em;
}
.typeout.done .typeout-caret{display:none;}
@keyframes caretBlink{
  0%, 50%{opacity:1;}
  51%, 100%{opacity:0;}
}

