:root{--black:#090909;--paper:#f4f1eb;--ink:#151515;--gold:#c8a66a;--burgundy:#671f32;--line:rgba(15,15,15,.16);font-family:Manrope,system-ui,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.announcement{height:32px;background:var(--black);color:#ddd;display:flex;align-items:center;justify-content:center;gap:12px;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase}.announcement span{color:var(--gold)}.site-header{height:70px;transform:translateY(0);transition:transform .35s cubic-bezier(.16,1,.3,1),height .3s ease,background .3s ease,box-shadow .3s ease;padding:0 4vw;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;background:rgba(244,241,235,.88);backdrop-filter:blur(18px);position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(0,0,0,.08)}.brand{display:inline-flex;align-items:center;width:max-content;font-weight:700;font-size:1.25rem;letter-spacing:-.08em}.brand i{font-family:"Playfair Display",serif;font-weight:500;color:var(--gold);margin-left:4px}.site-header nav{display:flex;gap:32px;font-size:.78rem}.site-header nav a{position:relative}.site-header nav a:after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:1px;background:currentColor;transition:.3s}.site-header nav a:hover:after{width:100%}.bag{justify-self:end;border:0;background:none;cursor:pointer;font-size:.78rem}.bag b{display:inline-grid;place-items:center;background:var(--ink);color:white;border-radius:50%;width:20px;height:20px;margin-left:6px;font-size:.67rem}.menu{display:none}.hero{height:calc(100svh - 102px);min-height:620px;position:relative;background:#080808;color:white;overflow:hidden}.hero img,.hero video{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.88) 0%,rgba(0,0,0,.52) 38%,rgba(0,0,0,.05) 72%)}.hero-copy{position:absolute;left:7vw;top:50%;transform:translateY(-50%);max-width:690px}.eyebrow,.section-index{font-size:.69rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase}.eyebrow{color:#d9bd8c}.hero h1{font-size:clamp(3.4rem,7vw,7.5rem);line-height:.84;letter-spacing:-.07em;margin:24px 0 28px;font-weight:600}.hero-copy>p:not(.eyebrow){max-width:480px;color:#d6d6d6;font-size:1.05rem;line-height:1.7}.actions{display:flex;align-items:center;gap:28px;margin-top:36px}.button{border:0;padding:15px 25px;border-radius:999px;font-weight:600;font-size:.8rem;cursor:pointer;display:inline-block}.button.light{background:white;color:#111}.button.dark{background:#111;color:white}.text-link{font-size:.8rem;border-bottom:1px solid rgba(255,255,255,.45);padding-bottom:5px}.text-link span{color:var(--gold)}.scroll-cue{position:absolute;bottom:30px;right:4vw;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase}.scroll-cue span{margin-left:10px;color:var(--gold)}.manifesto{padding:140px 7vw;background:var(--paper)}.section-index{color:#777;margin:0 0 50px}.manifesto h2,.partnership-intro h2{font-size:clamp(3rem,6.5vw,7rem);line-height:.95;letter-spacing:-.055em;margin:0;font-weight:500}.manifesto h2 em,.partnership-intro h2 em{font-family:"Playfair Display",serif;font-weight:500;color:var(--burgundy)}.manifesto-copy{font-size:1.25rem;line-height:1.65;max-width:700px;margin:70px 0 100px 35vw}.values{display:grid;grid-template-columns:repeat(3,1fr);gap:60px;border-top:1px solid var(--line);padding-top:35px}.values article span{font-size:.68rem;color:#777}.values h3{font-size:1.05rem;margin:30px 0 15px}.values p{font-size:.83rem;line-height:1.7;color:#666}.campaigns{display:grid;grid-template-columns:1fr 1fr;background:#111;gap:2px}.campaign{height:760px;position:relative;overflow:hidden;color:white}.campaign img{width:100%;height:100%;object-fit:cover;transition:transform 1s ease}.campaign:hover img{transform:scale(1.025)}.campaign:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.78),transparent 65%)}.campaign-copy{position:absolute;z-index:2;bottom:55px;left:50px}.campaign-copy p{font-size:.66rem;letter-spacing:.18em}.campaign-copy h2{font:500 4.6rem/1 "Playfair Display",serif;margin:8px 0}.campaign-copy span{display:block;color:#ddd;margin-bottom:28px}.campaign-copy a{font-size:.78rem;border-bottom:1px solid #aaa;padding-bottom:5px}.shop{padding:130px 4vw}.shop-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:55px}.shop-head .section-index{margin-bottom:20px}.shop h2{font-size:clamp(2.5rem,5vw,5rem);letter-spacing:-.06em;margin:0}.filters{display:flex;gap:8px}.filters button{border:1px solid var(--line);background:transparent;border-radius:99px;padding:10px 17px;font-size:.75rem;cursor:pointer}.filters button.active{background:#111;color:white}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.product{transition:opacity .25s}.product.hidden{display:none}.product-visual{height:430px;position:relative;display:grid;place-items:center;overflow:hidden}.product-visual.burgundy{background:#d8c6c4}.product-visual.black{background:#c9c9c7}.product-visual.graphite{background:#bab9b5}.product-visual.sand{background:#ded3c2}.tag{position:absolute;top:16px;left:16px;font-size:.58rem;letter-spacing:.11em;background:#f6f2ec;padding:6px 9px}.garment{position:relative;color:rgba(255,255,255,.32);background:#1c1c1c;display:grid;place-items:center;font-family:"Playfair Display";font-style:italic;box-shadow:0 30px 50px rgba(0,0,0,.22)}.garment.top{width:150px;height:120px;border-radius:45% 45% 24px 24px;background:var(--burgundy)}.garment.legging{width:115px;height:270px;clip-path:polygon(8% 0,92% 0,100% 100%,58% 100%,50% 25%,42% 100%,0 100%)}.garment.tshirt{width:190px;height:210px;clip-path:polygon(22% 0,36% 9%,64% 9%,78% 0,100% 22%,83% 38%,75% 30%,75% 100%,25% 100%,25% 30%,17% 38%,0 22%);background:#3d3d3d}.garment.set{width:140px;height:220px;border-radius:42% 42% 22px 22px;background:#ad987e}.quick{position:absolute;left:18px;right:18px;bottom:-55px;border:0;background:#111;color:white;padding:14px;border-radius:3px;transition:.25s;cursor:pointer}.product-visual:hover .quick,.quick:focus{bottom:18px}.product-info{display:flex;justify-content:space-between;margin-top:18px;gap:10px}.product-info h3{margin:0 0 5px;font-size:.88rem}.product-info p,.product-info strong{margin:0;font-size:.74rem;color:#666}.product-info strong{white-space:nowrap;color:#222}.swatches{display:flex;align-items:center;gap:5px;margin-top:12px}.swatches i{width:11px;height:11px;border-radius:50%;border:1px solid rgba(0,0,0,.2)}.swatches span{font-size:.65rem;color:#777;margin-left:5px}.burgundy-dot{background:var(--burgundy)}.black-dot{background:#111}.sand-dot{background:#b5a186}.graphite-dot{background:#555}.sage-dot{background:#6e7866}.show-all{display:block;margin:60px auto 0}.statement{background:var(--burgundy);color:white;padding:95px 0;overflow:hidden;text-align:center}.marquee{display:flex;width:max-content;font:500 clamp(3rem,7vw,7rem)/1 "Playfair Display",serif;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.45);animation:marquee 24s linear infinite}.statement>p{margin:60px 0 0;font-size:1.1rem}@keyframes marquee{to{transform:translateX(-50%)}}.partnerships{padding:140px 7vw;display:grid;grid-template-columns:1fr 1fr;gap:9vw;background:#ebe7df}.partnership-intro>p:last-child{max-width:560px;line-height:1.8;color:#5c5c5c;margin-top:50px}.partnership-cards{display:grid;gap:18px}.partnership-cards article{background:#141414;color:white;padding:45px;min-height:300px;display:flex;flex-direction:column}.partnership-cards article:last-child{background:var(--burgundy)}.partnership-cards span{font-size:.62rem;letter-spacing:.17em;color:#c9ab77}.partnership-cards h3{font:500 2rem "Playfair Display",serif;margin:45px 0 12px}.partnership-cards p{color:#bbb;line-height:1.7;font-size:.82rem;max-width:420px}.partnership-cards button{margin-top:auto;align-self:flex-start;border:0;background:none;color:white;padding:0 0 5px;border-bottom:1px solid #888;cursor:pointer;font-size:.78rem}.contact{padding:130px 10vw;background:#0c0c0c;color:white;display:grid;grid-template-columns:1fr 1fr;gap:12vw}.contact h2{font-size:clamp(3rem,5vw,5rem);margin:15px 0}.contact>div>p:last-child{color:#999;line-height:1.7;max-width:430px}.contact form{display:grid;gap:24px}.contact label{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:#999}.contact input,.contact textarea,.contact select{display:block;width:100%;margin-top:9px;background:transparent;border:0;border-bottom:1px solid #444;color:white;padding:12px 0;outline:0;text-transform:none;letter-spacing:0;font-size:.9rem}.contact select option{color:#111}.contact input:focus,.contact textarea:focus,.contact select:focus{border-color:var(--gold)}.contact .button{justify-self:start}.form-status{color:#d9bd8c;font-size:.8rem;margin:0}footer{padding:70px 5vw 30px;background:#050505;color:#aaa;display:grid;grid-template-columns:1fr 1fr;gap:28px}.footer-brand{color:white;font-size:1.65rem}footer>p{text-align:right;margin:7px 0}footer>div{display:flex;gap:22px;font-size:.74rem}footer small{text-align:right;font-size:.65rem}dialog{border:0;width:min(460px,calc(100% - 30px));padding:38px;box-shadow:0 20px 80px rgba(0,0,0,.4)}dialog::backdrop{background:rgba(0,0,0,.7);backdrop-filter:blur(5px)}dialog h2{font:500 2.3rem "Playfair Display",serif}.close{position:absolute;right:20px;top:14px;border:0;background:none;font-size:1.7rem;cursor:pointer}.bag-item{display:flex;justify-content:space-between;border-top:1px solid #ddd;padding:16px 0;font-size:.82rem}.bag-item button{border:0;background:none;color:#777;cursor:pointer}.bag-total{border-top:1px solid #aaa;padding-top:18px;display:flex;justify-content:space-between;margin:20px 0}.checkout{width:100%}.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}

@keyframes slideDownNav { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: translateY(0); } }

@media (max-width: 900px) {
  .site-header { grid-template-columns: 1fr auto; }
  .site-header nav { display: none; position: absolute; top: 70px; left: 0; right: 0; background: var(--paper); padding: 24px 30px; flex-direction: column; gap: 14px; box-shadow: 0 20px 40px rgba(0,0,0,.15); border-bottom: 1px solid rgba(0,0,0,.08); z-index: 50; }
  .site-header nav.open { display: flex; animation: slideDownNav 0.25s ease; }
  .site-header nav a { font-size: 0.95rem; padding: 10px 0; border-bottom: 1px solid rgba(0,0,0,.06); }
  .bag { display: none; }
  .menu { display: inline-flex; align-items: center; justify-content: center; border: 1px solid rgba(0,0,0,.25); background: transparent; padding: 8px 16px; border-radius: 99px; font-size: 0.78rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; cursor: pointer; color: var(--ink); min-height: 38px; }
  .hero-copy { left: 6vw; right: 6vw; }
  .values { grid-template-columns: 1fr; gap: 15px; }
  .values article { border-bottom: 1px solid var(--line); padding-bottom: 20px; }
  .manifesto-copy { margin-left: 0; }
  .campaign { height: 620px; }
  .product-grid { grid-template-columns: repeat(2, 1fr); }
  .partnerships, .contact { grid-template-columns: 1fr; }
  .partnership-intro { margin-bottom: 20px; }
}

@media (max-width: 600px) {
  .announcement { font-size: 0.62rem; letter-spacing: 0.08em; padding: 0 8px; }
  .hero { min-height: 580px; height: calc(100svh - 102px); }
  .hero img, .hero video { object-position: 64% center; }
  .hero-shade { background: linear-gradient(0deg, rgba(0,0,0,.92) 0%, rgba(0,0,0,.65) 45%, rgba(0,0,0,.15) 100%); }
  .hero-copy { top: auto; bottom: 85px; transform: none; left: 6vw; right: 6vw; }
  .hero h1 { font-size: clamp(2.3rem, 8vw, 3.6rem); line-height: 0.92; margin: 16px 0 20px; }
  .hero-copy > p:not(.eyebrow) { font-size: 0.92rem; line-height: 1.6; }
  .actions { flex-direction: column; align-items: stretch; gap: 12px; margin-top: 24px; width: 100%; }
  .actions .button { width: 100%; text-align: center; min-height: 48px; display: flex; align-items: center; justify-content: center; font-size: 0.85rem; }
  .actions .text-link { text-align: center; border: none; padding: 6px 0; font-size: 0.82rem; }
  .scroll-cue { display: none; }
  .manifesto, .shop, .partnerships, .contact { padding: 75px 6vw; }
  .manifesto-copy { font-size: 1.02rem; margin: 35px 0 60px; line-height: 1.7; }
  .campaigns { grid-template-columns: 1fr; }
  .campaign { height: 520px; }
  .campaign-copy { left: 24px; bottom: 30px; }
  .campaign-copy h2 { font-size: 3.2rem; }
  .shop-head { display: block; margin-bottom: 35px; }
  .filters { margin-top: 20px; overflow-x: auto; flex-wrap: nowrap; padding-bottom: 6px; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
  .filters button { flex-shrink: 0; padding: 8px 16px; font-size: 0.76rem; }
  .product-grid { grid-template-columns: 1fr; gap: 14px; }
  .product-visual { height: 440px; }
  .quick { bottom: 16px; }
  .partnership-cards article { padding: 28px; min-height: 260px; }
  .contact { gap: 45px; }
  .contact h2 { font-size: clamp(2.4rem, 7vw, 3.4rem); }
  .contact input, .contact textarea, .contact select { font-size: 1rem; }
  footer { grid-template-columns: 1fr; text-align: center; gap: 24px; padding: 50px 6vw 30px; }
  footer > p, footer small { text-align: center; }
  footer > div { justify-content: center; flex-wrap: wrap; gap: 14px; }
}
body.header-hidden .site-header{transform:translateY(-100%);} body.header-visible .site-header{transform:translateY(0);height:58px;background:rgba(244,241,235,.96);box-shadow:0 4px 20px rgba(0,0,0,.06);}



/* Header CTA - Always visible on mobile and desktop */
.header-cta {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  background: var(--ink);
  color: #fff !important;
  border-radius: 99px;
  padding: 8px 16px;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-decoration: none !important;
  white-space: nowrap;
  min-height: 36px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);
  transition: transform 0.15s ease, background 0.15s ease;
  justify-self: end;
}
.header-cta:hover {
  background: #333;
  transform: translateY(-1px);
}

.site-header nav a.nav-loja-btn {
  background: var(--burgundy) !important;
  color: #fff !important;
  border-radius: 8px;
  padding: 12px 16px !important;
  font-weight: 700 !important;
  text-align: center;
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  box-shadow: 0 4px 15px rgba(103, 31, 50, 0.3);
  margin-bottom: 4px;
}

@media (max-width: 900px) {
  .site-header {
    display: flex !important;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    padding: 0 16px;
  }
  .header-cta {
    margin-left: auto;
    margin-right: 6px;
    padding: 7px 14px;
    font-size: 0.72rem;
    min-height: 34px;
  }
}


/* =========================================================================
   WCAG 2.2 AA ACCESSIBILITY ENHANCEMENTS
   ========================================================================= */

.skip-link {
  position: absolute;
  top: -100px;
  left: 16px;
  background: #e2b18c;
  color: #090909 !important;
  padding: 12px 20px;
  border-radius: 8px;
  font-weight: 700;
  font-size: 0.92rem;
  z-index: 999999;
  text-decoration: none !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
  border: 2px solid #ffffff;
  transition: top 0.15s ease-out;
}
.skip-link:focus,
.skip-link:focus-visible {
  top: 16px;
  outline: 3px solid #ffffff !important;
  outline-offset: 3px !important;
}

.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

:focus-visible {
  outline: 2px solid #e2b18c !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 5px rgba(226, 177, 140, 0.28) !important;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
  .marquee span {
    animation: none !important;
  }
}

button, 
a.button, 
.btn-primary, 
.btn-secondary, 
.header-cta,
.menu,
.qty-select {
  min-height: 44px;
}

input[aria-invalid="true"],
select[aria-invalid="true"],
textarea[aria-invalid="true"] {
  border-color: #f87171 !important;
  background-color: rgba(239, 68, 68, 0.08) !important;
}
.field-error-msg {
  color: #f87171;
  font-size: 0.78rem;
  font-weight: 600;
  margin-top: 4px;
  display: flex;
  align-items: center;
  gap: 4px;
}

.color-swatch-btn[aria-pressed="true"],
.size-btn[aria-pressed="true"] {
  outline: 2px solid #e2b18c !important;
  outline-offset: 2px !important;
  box-shadow: 0 0 0 4px rgba(226, 177, 140, 0.3) !important;
}

/* Breadcrumbs Semânticos e Elegantes */
.store-breadcrumbs {
  display: flex !important;
  align-items: center !important;
  font-size: 0.82rem !important;
  color: #8c776a !important;
  padding: 12px clamp(16px, 4vw, 80px) !important;
  margin: 0 !important;
  background: #f3eee8 !important;
  overflow-x: auto !important;
  white-space: nowrap !important;
  list-style: none !important;
}
.store-breadcrumbs ol {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  list-style: none !important;
  list-style-type: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.store-breadcrumbs li {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  list-style: none !important;
  list-style-type: none !important;
}
.store-breadcrumbs a {
  color: #75645b !important;
  text-decoration: none !important;
  transition: color 0.15s ease !important;
}
.store-breadcrumbs a:hover {
  color: #15110e !important;
  text-decoration: underline !important;
}
.store-breadcrumbs .breadcrumb-current {
  color: #15110e !important;
  font-weight: 600 !important;
}
.store-breadcrumbs .breadcrumb-sep {
  color: #c5ad8a !important;
  font-size: 0.72rem !important;
  user-select: none !important;
}