:root{
  --bg:#ffffff;
  --bg-2:#fff8f9;
  --panel:#ffffff;
  --panel-2:#fff5f6;
  --line:rgba(179,24,43,.10);
  --line-strong:rgba(179,24,43,.18);
  --text:#b3182b;
  --muted:#8d5c63;
  --accent:#c51f36;
  --accent-2:#e02d45;
  --accent-3:#f6c7ce;
  --radius:26px;
  --shadow:0 24px 70px rgba(120,20,34,.10);
  --shadow-soft:0 14px 36px rgba(120,20,34,.08);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}

body{
  margin:0;
  font-family:'Inter',sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at top right,rgba(224,45,69,.08),transparent 26%),
    radial-gradient(circle at 12% 18%,rgba(197,31,54,.04),transparent 18%),
    linear-gradient(180deg,#ffffff 0%,#fff9fa 44%,#ffffff 100%);
  overflow-x:hidden
}

a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
button,input,select,textarea{font:inherit}

.container{width:min(1280px,calc(100% - 2rem));margin:0 auto}
.max-copy{max-width:58ch}

.site-noise{
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:.025;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E");
  mix-blend-mode:multiply;
  z-index:1
}

.site-header{
  position:sticky;
  top:0;
  z-index:40;
  background:rgba(255,255,255,.82);
  backdrop-filter:blur(16px);
  border-bottom:1px solid var(--line)
}

.header-inner{
  min-height:82px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem
}

.brand{
  display:flex;
  align-items:center;
  gap:.95rem;
  position:relative;
  z-index:5
}

.brand-mark{
  width:172px;
  height:96px;
  display:grid;
  place-items:center;
  background:transparent;
  border:0;
  box-shadow:none
}

.brand-symbol{
  width:164px;
  height:84px;
  object-fit:contain;
  filter:drop-shadow(0 0 18px rgba(197,31,54,.18))
}

.brand-text-wrap{
  display:flex;
  flex-direction:column;
  line-height:.82
}

.brand-word{
  font-family:'Cormorant Garamond',serif;
  font-size:2rem;
  letter-spacing:.04em;
  color:var(--accent)
}

.brand-sub{
  font-size:.72rem;
  letter-spacing:.42em;
  text-transform:uppercase;
  color:var(--muted);
  padding-left:.22rem
}

.site-nav{
  display:flex;
  align-items:center;
  gap:1.2rem
}

.site-nav a{
  color:var(--muted);
  font-weight:600;
  position:relative
}

.site-nav a::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-8px;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--accent),transparent);
  transform:scaleX(0);
  transition:.28s
}

.site-nav a:hover{
  color:var(--accent)
}

.site-nav a:hover::after{
  transform:scaleX(1)
}

.menu-toggle{
  display:none;
  border:0;
  background:none;
  color:var(--accent);
  font-size:1.6rem
}

.cart-link span{
  display:inline-grid;
  place-items:center;
  min-width:22px;
  height:22px;
  border-radius:999px;
  margin-left:.35rem;
  padding:0 .35rem;
  background:var(--accent);
  color:#fff;
  font-size:.8rem
}

main{position:relative;z-index:2}

.eyebrow,.badge,.product-kicker{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  padding:.5rem .82rem;
  border:1px solid var(--line);
  background:rgba(197,31,54,.04);
  border-radius:999px;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:.72rem;
  color:var(--accent)
}

.badge{
  letter-spacing:.08em;
  text-transform:none;
  font-size:.78rem;
  color:var(--muted)
}

.muted{color:var(--muted)}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.4rem;
  padding:1rem 1.35rem;
  border-radius:999px;
  border:1px solid var(--line);
  font-weight:700;
  cursor:pointer;
  transition:transform .22s ease,box-shadow .22s ease,background .22s ease,color .22s ease,border-color .22s ease;
  box-shadow:var(--shadow-soft)
}

.btn:hover{transform:translateY(-2px)}

.btn-primary{
  background:linear-gradient(180deg,var(--accent-2),var(--accent));
  color:#fff;
  border-color:rgba(197,31,54,.24)
}

.btn-dark{
  background:#fff;
  color:var(--accent);
  border-color:var(--line-strong)
}

.btn-danger{
  background:linear-gradient(180deg,#b9192f,#941020);
  color:#fff
}

.inline-link{
  display:inline-flex;
  margin-top:1rem;
  font-weight:700;
  color:var(--accent)
}

.section{padding:3rem 0 4.6rem}
.page-hero{padding:2.6rem 0 1.2rem}

.page-title{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(3rem,7vw,5.4rem);
  line-height:.92;
  margin:.5rem 0 0;
  color:var(--accent)
}

.section-head{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:1rem;
  margin-bottom:1.6rem
}

.section-head h2,.cta-box h2,.story-card h2,.editorial-copy h2{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(2.3rem,4.6vw,4.3rem);
  line-height:.94;
  margin:.55rem 0 0;
  color:var(--accent)
}

.hero{padding:3rem 0 1.4rem;position:relative}
.hero::before{
  content:"";
  position:absolute;
  right:-10vw;
  top:-8vh;
  width:32vw;
  height:32vw;
  border-radius:50%;
  background:radial-gradient(circle,rgba(197,31,54,.12),transparent 70%);
  filter:blur(44px);
  z-index:-1
}

.hero-shell{
  display:grid;
  grid-template-columns:1.02fr .98fr;
  gap:2rem;
  align-items:center
}

.hero-shell.compact{align-items:start}

.hero-copy h1{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(3.7rem,8vw,7rem);
  line-height:.88;
  margin:.85rem 0 1rem;
  max-width:8ch;
  color:var(--accent)
}

.hero-copy p{
  font-size:1.05rem;
  max-width:58ch;
  color:var(--muted)
}

.hero-actions{
  display:flex;
  gap:1rem;
  flex-wrap:wrap;
  margin-top:1.65rem
}

.hero-points{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1rem;
  margin-top:1.7rem
}

.mini-card,.story-card,.contact-card,.filters,.form-panel,.product-gallery,.admin-card,.glass-card,.kpi,.cta-box,.stack-media,.masonry-item,.contact-side,.hero-main-media,.table-wrap{
  background:linear-gradient(180deg,#ffffff,#fff7f8);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow)
}

.mini-card{padding:1rem 1.05rem}
.mini-card strong{
  display:block;
  font-size:.88rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  margin-bottom:.45rem;
  color:var(--accent)
}

.mini-card span{
  display:block;
  color:var(--muted);
  font-size:.93rem
}

.hero-visual{position:relative;min-height:700px}
.hero-main-media{overflow:hidden;height:100%}
.frame-tall{min-height:700px}
.frame-square{aspect-ratio:1/1;overflow:hidden}

.hero-main-media img,.stack-media img,.masonry-item img,.product-media img,.product-gallery img,.contact-card.media img,.gallery-wide img,.gallery-tall img{
  width:100%;
  height:100%;
  object-fit:cover
}

.hero-main-media img{opacity:.94;transform:scale(1.02)}

.floating-card{
  position:absolute;
  width:220px;
  padding:.75rem;
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(12px);
  border:1px solid var(--line);
  border-radius:22px;
  box-shadow:var(--shadow-soft)
}

.floating-card img{
  width:100%;
  aspect-ratio:1/1.02;
  object-fit:cover;
  border-radius:16px;
  margin-bottom:.7rem
}

.floating-card span{
  display:block;
  font-size:.78rem;
  color:var(--accent);
  letter-spacing:.18em;
  text-transform:uppercase
}

.floating-card.top-right{right:-1rem;top:2rem}
.floating-card.bottom-left{left:-1rem;bottom:2rem}
.floating-card.dark{background:rgba(255,255,255,.92)}

.ticker{
  overflow:hidden;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:rgba(197,31,54,.03);
  padding:1rem 0
}

.ticker-track{
  display:flex;
  gap:2rem;
  white-space:nowrap;
  animation:marquee 28s linear infinite;
  font-weight:800;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--accent)
}

@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

.lookbook-section{padding-top:4rem}

.masonry-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr .85fr;
  gap:1rem;
  grid-auto-rows:320px
}

.masonry-item{overflow:hidden;position:relative}
.masonry-item:nth-child(1){grid-row:span 2}
.masonry-item:nth-child(2){grid-row:span 1}
.masonry-item:nth-child(3){grid-row:span 1}
.masonry-item:nth-child(4){grid-column:2 / span 2}

.masonry-item::after,.product-media::after,.gallery-wide::after,.gallery-tall::after,.hero-main-media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,.16));
  pointer-events:none
}

.caption{
  position:absolute;
  left:1rem;
  bottom:1rem;
  padding:.55rem .8rem;
  background:rgba(255,255,255,.84);
  backdrop-filter:blur(8px);
  border:1px solid var(--line);
  border-radius:999px;
  font-size:.75rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  z-index:2;
  color:var(--accent)
}

.editorial-grid{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:1.4rem;
  align-items:center
}

.editorial-stack{display:grid;gap:1rem}
.stack-media{overflow:hidden}
.stack-media.wide{min-height:420px}

.stack-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1rem
}

.product-grid,
.home-products{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.2rem
}

.product-card{
  overflow:hidden;
  position:relative;
  background:linear-gradient(180deg,#ffffff,#fff7f8);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow)
}

.product-media{
  position:relative;
  display:block;
  aspect-ratio:1/1.18;
  overflow:hidden;
  background:#f7eeee
}

.product-media img{transition:transform .5s ease}
.product-card:hover .product-media img{transform:scale(1.05)}

.product-body{
  padding:1.05rem;
  position:relative;
  z-index:2
}

.product-body h3{
  margin:.55rem 0 .6rem;
  font-size:1.1rem;
  color:var(--accent)
}

.price-row{
  display:flex;
  align-items:center;
  gap:.55rem;
  flex-wrap:wrap;
  font-weight:800
}

.price-row.large{
  font-size:1.28rem;
  margin-bottom:1rem
}

.old-price{
  text-decoration:line-through;
  color:#af8087;
  font-weight:600
}

.shop-layout{
  display:grid;
  grid-template-columns:280px 1fr;
  gap:1.4rem
}

.shop-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  margin-top:1rem
}

.filters,.form-panel{padding:1.2rem}

.form-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1rem
}

.field{
  display:flex;
  flex-direction:column;
  gap:.45rem
}

.field label{
  font-size:.92rem;
  color:var(--muted)
}

.field input,.field select,.field textarea{
  width:100%;
  background:#fff;
  border:1px solid var(--line);
  color:var(--text);
  padding:1rem;
  border-radius:16px;
  outline:none;
  transition:border-color .2s,box-shadow .2s
}

.field input:focus,.field select:focus,.field textarea:focus{
  border-color:rgba(197,31,54,.22);
  box-shadow:0 0 0 4px rgba(197,31,54,.06)
}

.field textarea{
  min-height:160px;
  resize:vertical
}

.notice{
  padding:1rem 1.05rem;
  border-radius:18px;
  margin-bottom:1rem;
  border:1px solid var(--line)
}

.notice-success{
  background:rgba(61,139,91,.08);
  color:#216b47
}

.notice-error{
  background:rgba(197,31,54,.08);
  color:var(--accent)
}

.contact-grid{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:1.4rem
}

.contact-side{
  display:grid;
  gap:1rem;
  background:none;
  border:0;
  box-shadow:none
}

.contact-card{padding:1.2rem}
.contact-card.media{
  padding:0;
  overflow:hidden;
  min-height:440px
}

.contact-list{
  list-style:none;
  padding:0;
  margin:1rem 0 0;
  display:grid;
  gap:.9rem
}

.contact-list li{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  border-bottom:1px solid var(--line);
  padding-bottom:.7rem
}

.product-detail{
  display:grid;
  grid-template-columns:1fr .95fr;
  gap:1.6rem;
  align-items:start
}

.product-page{padding-top:2rem}

.product-gallery{padding:1rem}
.product-gallery img{
  aspect-ratio:1/1.08;
  border-radius:20px
}

.product-title{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(2.8rem,5.5vw,4.6rem);
  line-height:.92;
  margin:.65rem 0 1rem;
  color:var(--accent)
}

.product-description{max-width:58ch}

.product-facts{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1rem;
  margin:1.4rem 0
}

.product-facts div{
  padding:1rem;
  border-radius:18px;
  background:rgba(197,31,54,.04);
  border:1px solid var(--line)
}

.product-facts strong{
  display:block;
  font-size:.8rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--accent);
  margin-bottom:.45rem
}

.product-buy-box{
  display:flex;
  gap:1rem;
  align-items:end;
  flex-wrap:wrap;
  padding:1rem 0 0
}

.qty-field{max-width:130px}

.cart-layout,.checkout-layout{
  display:grid;
  grid-template-columns:1.1fr .85fr;
  gap:1.5rem
}

.table{
  width:100%;
  border-collapse:collapse;
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  overflow:hidden
}

.table th,.table td{
  padding:1rem;
  border-bottom:1px solid var(--line);
  text-align:left;
  vertical-align:top
}

.table th{
  color:var(--muted);
  font-size:.9rem
}

.about-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1.2rem
}

.story-card{padding:1.35rem}

.about-gallery{
  display:grid;
  grid-template-columns:1.2fr .8fr .8fr;
  gap:1rem
}

.gallery-wide,.gallery-tall{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:var(--radius);
  position:relative;
  box-shadow:var(--shadow)
}

.gallery-wide{min-height:560px}
.gallery-tall{min-height:560px}

.cta-box{
  padding:1.5rem 1.6rem;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem
}

.kpis{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1rem
}

.kpi{padding:1.2rem}
.kpi strong{
  display:block;
  font-size:1.8rem;
  margin-top:.35rem;
  color:var(--accent)
}

.admin-wrap{
  display:grid;
  grid-template-columns:260px 1fr;
  min-height:100vh
}

.admin-sidebar{
  background:#fff7f8;
  border-right:1px solid var(--line);
  padding:1.2rem;
  position:sticky;
  top:0;
  height:100vh
}

.admin-sidebar nav{
  display:grid;
  gap:.5rem;
  margin-top:1rem
}

.admin-sidebar a{
  padding:.9rem 1rem;
  border-radius:14px;
  color:var(--muted)
}

.admin-sidebar a:hover,.admin-sidebar a.active{
  background:rgba(197,31,54,.06);
  color:var(--accent)
}

.admin-content{padding:1.5rem}

.admin-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  margin-bottom:1.2rem
}

.stats-strip{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:1.2rem
}

.site-footer{
  padding:3rem 0 2rem;
  border-top:1px solid var(--line);
  background:#fff6f7;
  position:relative;
  z-index:2
}

.footer-grid{
  display:grid;
  grid-template-columns:1.2fr .8fr .8fr 1fr;
  gap:1.4rem
}

.footer-brand-lockup{
  display:flex;
  gap:.95rem;
  align-items:flex-start
}

.footer-symbol{
  width:56px;
  height:56px;
  object-fit:contain;
  border-radius:16px;
  background:rgba(197,31,54,.04);
  padding:.5rem;
  border:1px solid var(--line)
}

.footer-brand-name{
  font-family:'Cormorant Garamond',serif;
  font-size:2rem;
  line-height:.9;
  margin-bottom:.35rem;
  color:var(--accent)
}

.footer-grid h4{
  margin:0 0 .8rem;
  color:var(--accent)
}

.footer-grid ul{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:.55rem;
  color:var(--muted)
}

.social-row{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  margin-top:1rem
}

.social-row a{
  padding:.55rem .8rem;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff
}

.footer-bottom{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  text-align:center;
  border-top:1px solid var(--line);
  margin-top:1rem;
  padding-top:1.2rem;
  color:var(--muted)
}

.footer-credit{
  font-size:0.9rem;
  color:var(--muted)
}

.footer-credit a{
  color:var(--accent);
  text-decoration:none;
  transition:opacity 0.25s ease
}

.footer-credit a:hover{
  opacity:1;
  text-decoration:underline
}

.footer-logo{
  width:96px;
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 0 14px rgba(197,31,54,.14));
  margin-bottom:1rem
}

.footer-social{
  display:flex;
  gap:.8rem;
  flex-wrap:wrap;
  margin-top:1rem
}

.footer-social a{
  color:var(--accent);
  font-weight:700
}

.site-footer p,.site-footer li a{color:var(--muted)}

.legal-hero,.page-hero{position:relative}
.legal-box{padding:1.4rem 1.5rem;max-width:920px}

.legal-page{padding:120px 0 80px}
.legal-container{max-width:920px}
.legal-hero{margin-bottom:30px}

.legal-content{
  padding:32px;
  border:1px solid var(--line);
  background:#fffafb;
  border-radius:22px;
  backdrop-filter:blur(10px)
}

.legal-content h2{
  margin:30px 0 12px;
  font-size:1.2rem;
  color:var(--accent)
}

.legal-content h2:first-child{margin-top:0}

.legal-content p,.legal-content li{
  color:var(--muted);
  line-height:1.85
}

.legal-content ul{margin:0 0 18px 20px}

.checkout-summary p{
  display:flex;
  justify-content:space-between;
  gap:1rem
}

hr.soft{
  border:0;
  border-top:1px solid var(--line);
  margin:1rem 0
}

.small{font-size:.92rem}

code{
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  background:rgba(197,31,54,.06);
  padding:.2rem .45rem;
  border-radius:8px
}

.reveal{opacity:1;transform:none}

@supports (animation-timeline: view()) {
  .reveal{
    opacity:.001;
    transform:translateY(16px);
    animation:reveal both;
    animation-timeline:view();
    animation-range:entry 15% cover 34%
  }
  .reveal.delay-1{animation-range:entry 20% cover 38%}
  .reveal.delay-2{animation-range:entry 24% cover 42%}
  @keyframes reveal{to{opacity:1;transform:translateY(0)}}
}

/* Banner home */
.home-banner{
  padding:1.2rem 0 0;
  overflow:hidden
}

.home-banner__viewport{
  overflow:hidden;
  padding:0 0 1rem
}

.home-banner__track{
  display:flex;
  gap:1rem;
  width:max-content;
  will-change:transform
}

.home-banner__track.banner-right{
  animation:bannerRight 40s linear infinite
}

@keyframes bannerRight{
  from{transform:translateX(-45%)}
  to{transform:translateX(0)}
}

.banner-card{
  width:min(27vw,420px);
  aspect-ratio:.8/1;
  background:#fff5f6;
  border:1px solid var(--line);
  border-radius:28px;
  overflow:hidden;
  box-shadow:var(--shadow)
}

.banner-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(1.02) contrast(1.01)
}

/* Palabra CARBASSA pasando */
.brand-marquee{
  overflow:hidden;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:rgba(197,31,54,.03)
}

.brand-marquee--hero{margin-top:.3rem}

.brand-marquee__track{
  display:flex;
  gap:2.8rem;
  white-space:nowrap;
  width:max-content;
  animation:brandLoop 18s linear infinite;
  padding:1rem 0
}

.brand-marquee__track span{
  font-weight:900;
  letter-spacing:.34em;
  text-transform:uppercase;
  font-size:clamp(1.3rem,2vw,2rem);
  color:var(--accent)
}

@keyframes brandLoop{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}

.shop-preview--home{padding-top:3.2rem}

/* Panorámica */
.panoramic-section{padding-top:2rem}

.panorama-shell{
  overflow:hidden;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:#fff8f9
}

.panorama-track{
  width:max-content;
  animation:panSlide 26s ease-in-out infinite alternate
}

.panorama-track img{
  display:block;
  width:min(220vw,3200px);
  max-width:none;
  height:clamp(280px,48vw,560px);
  object-fit:cover;
  opacity:.96
}

@keyframes panSlide{
  from{transform:translateX(0)}
  to{transform:translateX(calc(-100% + 100vw))}
}

/* Factura */
.invoice-page{padding-top:2.2rem}
.invoice-wrap{max-width:1080px}

.invoice-toolbar{
  display:flex;
  justify-content:flex-end;
  margin-bottom:1rem
}

.invoice-card{
  padding:1.8rem;
  border:1px solid var(--line);
  background:linear-gradient(180deg,#ffffff,#fff7f8);
  border-radius:28px;
  box-shadow:var(--shadow)
}

.invoice-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:1rem;
  margin-bottom:1.4rem
}

.invoice-head h1{
  margin:.55rem 0 0;
  font-size:clamp(2rem,4vw,3.5rem);
  color:var(--accent)
}

.invoice-brand{
  font-size:clamp(1.8rem,4vw,3.2rem);
  font-weight:900;
  letter-spacing:.2em;
  color:var(--accent)
}

.invoice-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1rem;
  margin-bottom:1.4rem
}

.invoice-box{
  padding:1.1rem;
  border:1px solid var(--line);
  border-radius:22px;
  background:rgba(197,31,54,.03)
}

.invoice-box h3{
  margin:0 0 .8rem;
  color:var(--accent)
}

.invoice-box p{
  margin:.15rem 0;
  color:var(--muted)
}

.invoice-totals{
  display:flex;
  flex-direction:column;
  gap:.7rem;
  align-items:flex-end;
  margin-top:1.4rem
}

.invoice-totals p{
  display:flex;
  justify-content:space-between;
  gap:2rem;
  min-width:min(360px,100%);
  margin:0;
  color:var(--muted)
}

.invoice-totals .total{
  font-size:1.2rem;
  color:var(--accent)
}

@media (max-width:1180px){
  .hero-shell,.editorial-grid,.product-detail,.contact-grid,.cart-layout,.checkout-layout,.shop-layout,.admin-wrap,.stats-strip,.footer-grid,.about-grid,.about-gallery{
    grid-template-columns:1fr
  }

  .hero-points,.product-facts,.form-grid,.kpis{
    grid-template-columns:1fr
  }

  .masonry-grid{
    grid-template-columns:1fr 1fr;
    grid-auto-rows:280px
  }

  .masonry-item:nth-child(1){grid-row:span 1}
  .masonry-item:nth-child(4){grid-column:auto}

  .hero-visual{min-height:560px}
  .frame-tall{min-height:560px}

  .product-grid,.home-products{
    grid-template-columns:repeat(2,1fr)
  }

  .site-nav{
    position:fixed;
    inset:84px 1rem auto 1rem;
    display:none;
    flex-direction:column;
    align-items:flex-start;
    padding:1rem;
    background:#fff;
    border:1px solid var(--line);
    border-radius:18px;
    box-shadow:var(--shadow);
    z-index:35
  }

  .site-nav.open{display:flex}
  .menu-toggle{display:block}

  .admin-sidebar{
    height:auto;
    position:relative
  }
}

@media (max-width:900px){
  .banner-card{width:72vw}
  .invoice-grid{grid-template-columns:1fr}
}

@media (max-width:760px){
  .container{width:min(100% - 1.2rem,1280px)}
  .hero{padding-top:2rem}
  .hero-copy h1{font-size:3.45rem;max-width:none}
  .hero-visual{min-height:460px}
  .frame-tall{min-height:460px}
  .floating-card{display:none}
  .section-head,.cta-box,.contact-list li{display:block}
  .product-grid,.home-products,.masonry-grid,.stack-row{grid-template-columns:1fr}
  .masonry-grid{grid-auto-rows:260px}
  .gallery-wide,.gallery-tall,.contact-card.media{min-height:360px}
  .table{display:block;overflow:auto}

  .brand-mark{
    width:142px;
    height:82px
  }

  .brand-symbol{
    width:138px;
    height:76px
  }

  .banner-card{width:78vw}

  .brand-marquee__track span{
    font-size:1.1rem;
    letter-spacing:.24em
  }

  .panorama-track img{height:300px}
}

@media print{
  .site-header,.site-footer,.site-noise,.invoice-toolbar{display:none !important}
  body{background:#fff;color:#000}
  .invoice-card,.invoice-box,.table-wrap{box-shadow:none;border-color:#ddd;background:#fff}
  .invoice-brand,.invoice-head h1,.invoice-box h3,.invoice-totals .total{color:#111}
}