/* Bruno Spadoni Photography — layout "Penumbra" nas páginas internas
   (série, obra, obra da Coleção, A Coleção). Usa as classes que as páginas
   já tinham; a home tem folha própria (site.css).
   Direção e decisões: docs/redesign-home/README.md */
:root{
  --noite:#090909; --papel:#f2efe9;
  --claro:#f4f1eb; --tinta:#111110;
  --dim-noite:#aaa69e; --dim-papel:#66625b;
  --fio-noite:#2a2927; --fio-papel:#d5d0c6;
  --logo:'Bodoni Moda','Didot','Bodoni 72',Georgia,serif;
  --serif:'Cormorant Garamond','Cormorant','Iowan Old Style',Georgia,serif;
  --sans:'Instrument Sans','Helvetica Neue',Helvetica,Arial,sans-serif;
  --gut:clamp(18px,7vw,90px);
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{--fg:var(--claro);--bg:var(--noite);--dim:var(--dim-noite);--fio:var(--fio-noite);
  background:var(--noite);color:var(--claro);font-family:var(--sans);font-size:16px;line-height:1.6;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible,summary:focus-visible,.tam-row:focus-visible{outline:2px solid currentColor;outline-offset:3px}
em{font-style:normal}

/* blocos em papel */
.obra-body,.site-footer,.como,.trio:nth-of-type(even){--fg:var(--tinta);--bg:var(--papel);--dim:var(--dim-papel);--fio:var(--fio-papel);background:var(--papel);color:var(--tinta)}

/* rótulos pequenos */
.nav-back,.lang-switch,.nav-cta,.hero-eyebrow,.hero-badge,.hero-serie,.serie-meta,.s-label,.obras-count,.obra-num,.btn-ver,.obra-wa-btn,
.modal-serie-tag,.kw-tag,.edicao-label,.btn-wa,.btn-serie,.btn-primary,.rel-label,.rel-serie,.obra-serie,.rotulo,.tam th,.btn-adquirir,
.ficha summary,.trio-num,.credencial,.modal-wa,.wa-float,.btn-wa-mobile,.obra-subserie-badge,.passos li::before{
  font-family:var(--sans);font-size:.6875rem;font-weight:400;letter-spacing:.24em;text-transform:uppercase;line-height:1.55}

/* marca */
.assin{font-family:var(--logo);font-size:1.0625rem;letter-spacing:.3em;text-transform:uppercase;line-height:1;white-space:nowrap}
.selo{display:inline-grid;grid-template-rows:1fr 1fr;width:2em;height:3em;border:.07em solid var(--fg);flex:none;font-size:11px}
.selo b{display:grid;place-items:center;font-family:var(--logo);font-weight:500;font-size:1.22em;line-height:1;color:var(--fg)}
.selo b:first-child{background:var(--fg);color:var(--bg)}
.marca{display:flex;align-items:center;gap:16px}

/* topo */
nav{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:22px var(--gut);background:linear-gradient(to bottom,rgba(9,9,9,.78),rgba(9,9,9,0));transition:padding .35s ease,background .35s ease}
nav.scrolled{padding-block:13px;background:rgba(9,9,9,.94);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.nav-right{display:flex;align-items:center;gap:clamp(14px,2.4vw,30px)}
.nav-back{display:inline-flex;align-items:center;gap:8px;transition:opacity .2s}
.nav-back:hover{opacity:.65}
.nav-back svg{width:14px;height:14px}
.lang-switch{display:flex;gap:.5em}
.lang-switch a:not(.active),.lang-switch span{opacity:.55}
.lang-switch a:hover{opacity:1}
.nav-cta{border:1px solid rgba(244,241,235,.5);padding:.85em 1.3em;transition:background .25s,color .25s}
.nav-cta:hover{background:var(--claro);color:var(--tinta)}

/* botões */
.btn-primary,.btn-wa,.modal-wa,.btn-adquirir{display:inline-flex;align-items:center;justify-content:center;gap:12px;background:var(--fg);color:var(--bg);
  padding:1.1em 1.9em;border:0;cursor:pointer;transition:opacity .25s}
.btn-primary:hover,.btn-wa:hover,.modal-wa:hover,.btn-adquirir:hover{opacity:.82}
.btn-wa svg,.modal-wa svg{width:16px;height:16px;flex:none}

/* ---------- série ---------- */
.serie-hero{position:relative;min-height:clamp(460px,62vw,760px);display:flex;align-items:flex-end;overflow:hidden}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center 30%}
.serie-hero .hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(9,9,9,.7) 0%,rgba(9,9,9,.05) 22%,rgba(9,9,9,.3) 40%,rgba(9,9,9,.82) 66%,#090909 100%)}
.serie-hero .hero-content{position:relative;width:100%;max-width:1320px;margin-inline:auto;padding:clamp(120px,22vw,300px) var(--gut) clamp(34px,5vw,60px)}
.hero-eyebrow,.hero-badge{color:var(--dim);margin-bottom:16px}
.serie-hero .hero-eyebrow{color:var(--claro);text-shadow:0 0 14px rgba(0,0,0,.55)}
.serie-hero .hero-title,.serie-hero .hero-sub{text-shadow:0 0 22px rgba(0,0,0,.45)}
.hero-title{font-family:var(--serif);font-weight:400;font-size:clamp(3rem,7.4vw,5.8rem);line-height:1;letter-spacing:-.008em}
.hero-sub{max-width:34em;color:var(--dim);font-size:1.0625rem;margin:18px 0 28px}
.serie-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 34px;padding:20px var(--gut);border-block:1px solid var(--fio);color:var(--dim)}
.meta-icon,.meta-sep{display:none}
.meta-value{color:var(--fg)}
.obras-section{padding:clamp(60px,9vw,110px) var(--gut);max-width:1500px;margin-inline:auto}
.obras-header{margin-bottom:clamp(30px,5vw,56px)}
.s-label,.rel-label{color:var(--dim);margin-bottom:14px}
.s-title,.rel-title,.trio-nome,.como h2{font-family:var(--serif);font-weight:400;font-size:clamp(2.2rem,4.6vw,3.5rem);line-height:1.05}
.obras-count{color:var(--dim);margin-top:16px}
.obras-grid{columns:3;column-gap:clamp(16px,2.6vw,34px)}
.obra-card{break-inside:avoid;margin-bottom:clamp(28px,3.6vw,48px);cursor:pointer}
.obra-img{position:relative;overflow:hidden}
.obra-img img{width:100%;height:auto;transition:transform .8s ease}
.obra-card:hover .obra-img img{transform:scale(1.03)}
.obra-subserie-badge{position:absolute;top:10px;left:10px;background:var(--claro);color:var(--tinta);padding:.35em .7em;font-size:.5625rem}
.obra-hover{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:rgba(9,9,9,.55);opacity:0;transition:opacity .35s}
.obra-card:hover .obra-hover,.obra-card:focus-within .obra-hover{opacity:1}
.btn-ver,.obra-wa-btn{padding:.9em 1.5em;border:1px solid var(--claro);color:var(--claro);background:none;cursor:pointer}
.btn-ver{background:var(--claro);color:var(--tinta)}
.obra-meta{padding-top:14px}
.obra-num{color:var(--dim);font-size:.625rem}
.obra-meta .obra-titulo{font-family:var(--serif);font-size:1.5rem;line-height:1.15;margin:4px 0 6px}
.obra-desc-short{font-size:.875rem;color:var(--dim)}

/* visualizador da série */
.modal-overlay{position:fixed;inset:0;z-index:500;display:flex;align-items:center;justify-content:center;padding:clamp(16px,4vw,48px);
  background:rgba(5,5,5,.95);opacity:0;pointer-events:none;transition:opacity .3s}
.modal-overlay.active{opacity:1;pointer-events:auto}
.modal-inner{position:relative;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:clamp(20px,4vw,56px);align-items:center;width:100%;max-width:1240px;max-height:100%}
.modal-img-wrap img{width:100%;max-height:84vh;object-fit:contain}
.modal-close{position:absolute;top:-6px;right:0;z-index:2;background:none;border:0;color:var(--claro);font-size:1.3rem;line-height:1;cursor:pointer;padding:10px}
.modal-serie-tag{color:var(--dim)}
.modal-title{font-family:var(--serif);font-weight:400;font-size:clamp(1.9rem,3.4vw,2.7rem);line-height:1.08;margin:10px 0 14px}
.modal-desc{color:var(--dim)}
.modal-kw-wrap,.kw-wrap{display:flex;flex-wrap:wrap;gap:6px 16px;margin:18px 0 26px}
.kw-tag{color:var(--dim);font-size:.625rem}

/* ---------- obra ---------- */
.obra-hero{display:flex;flex-direction:column;padding-top:86px}
.obra-hero .hero-img{width:100%;height:auto;max-height:82vh;object-fit:contain}
.obra-hero .hero-overlay{display:none}
.obra-hero .hero-content{padding:clamp(26px,4vw,44px) var(--gut) clamp(40px,6vw,70px);width:100%;max-width:calc(46rem + 2*var(--gut));margin-inline:auto}
.obra-hero .hero-title{font-size:clamp(2.5rem,5.6vw,4.3rem);line-height:1.02}
.hero-serie{color:var(--dim);margin-top:16px}
.hero-serie a,.vivian a,.made-to-order a{text-decoration:underline;text-underline-offset:3px}
.obra-body{padding:clamp(48px,7vw,90px) var(--gut)}
.obra-body>*{max-width:46rem;margin-inline:auto}
.obra-desc,.historia p{font-family:var(--serif);font-size:clamp(1.35rem,2.4vw,1.75rem);line-height:1.32}
.historia p+p{margin-top:.8em}
.edicao-box{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 24px;border-block:1px solid var(--fio);margin-block:34px}
.edicao-item{display:flex;flex-direction:column;gap:6px;padding-block:18px}
.edicao-sep{display:none}
.edicao-label{color:var(--dim)}
.obra-body>div:not([class]){display:flex;flex-wrap:wrap;align-items:center;gap:18px 30px}
.btn-serie{border-bottom:1px solid currentColor;padding-bottom:4px}

/* obra da Coleção */
.obra-body .obra-titulo{font-family:var(--serif);font-weight:400;font-size:clamp(2.5rem,5.6vw,4rem);line-height:1.02}
.obra-serie{color:var(--dim);margin:14px auto 26px}
.compra{margin-top:38px;border-top:1px solid var(--fio);padding-top:8px}
.rotulo{color:var(--dim);margin:24px 0 10px}
.tam{width:100%;border-collapse:collapse}
.tam th{color:var(--dim);text-align:left;padding:8px 14px}
.tam td{padding:16px 14px;border-top:1px solid var(--fio)}
.tam-row{cursor:pointer;transition:background .2s}
.tam-row:hover{background:rgba(17,17,16,.05)}
.tam-row.active{background:var(--tinta);color:var(--papel)}
.tam-preco{font-variant-numeric:tabular-nums}
.tam-off,.tam th.off{color:var(--dim)}
.tam-row.active .tam-off{color:rgba(242,239,233,.6)}
.tam-nota{font-size:.8125rem;color:var(--dim);margin-top:10px}
.apres-op{display:flex;flex-direction:column;border:1px solid var(--tinta);padding:14px 16px}
.apres-op b{font-weight:500}
.apres-op span{font-size:.875rem;color:var(--dim)}
.btn-adquirir{width:100%;margin-top:28px;padding:1.3em}
.btn-adquirir[disabled]{opacity:.5;cursor:wait}
.compra-erro{display:none;margin-top:12px;font-size:.875rem;color:#8c2f22}
.ficha{margin-top:36px;border-block:1px solid var(--fio)}
.ficha summary{display:flex;justify-content:space-between;padding:18px 0;cursor:pointer;list-style:none}
.ficha summary::-webkit-details-marker{display:none}
.ficha summary::after{content:"+";letter-spacing:0}
.ficha[open] summary::after{content:"–"}
.ficha ul{list-style:none;padding-bottom:18px}
.ficha li{padding:5px 0;font-size:.9375rem;color:var(--dim)}
.edicao-fecha{font-size:.875rem;color:var(--dim);margin-top:22px}
.vivian{margin-top:30px;font-size:.9375rem}

/* da mesma série */
.rel-section{padding:clamp(60px,9vw,110px) var(--gut);max-width:1500px;margin-inline:auto}
.rel-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2.4vw,28px);margin-top:clamp(28px,5vw,48px)}
.rel-img{aspect-ratio:3/2;overflow:hidden}
.rel-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.rel-card:hover .rel-img img{transform:scale(1.04)}
.rel-info{padding-top:14px}
.rel-serie{color:var(--dim)}
.rel-titulo{font-family:var(--serif);font-size:1.4rem;line-height:1.15}

/* ---------- A Coleção ---------- */
.abertura{padding:clamp(130px,16vw,200px) var(--gut) clamp(56px,8vw,100px);max-width:1320px;margin-inline:auto}
.abertura h1{font-family:var(--serif);font-weight:400;font-size:clamp(3.2rem,8vw,6rem);line-height:1;margin-bottom:clamp(24px,4vw,40px)}
.abertura p{font-family:var(--serif);font-size:clamp(1.3rem,2.3vw,1.7rem);line-height:1.35;max-width:34em}
.abertura p+p{margin-top:.8em;color:var(--dim)}
.credencial{color:var(--dim);margin-top:clamp(28px,4vw,44px)}
.trio{padding:clamp(60px,9vw,110px) var(--gut)}
.trio-head,.trio-grid{max-width:1320px;margin-inline:auto}
.trio-head{margin-bottom:clamp(30px,5vw,56px)}
.trio-num{color:var(--dim);margin-bottom:12px}
.trio-texto{max-width:40em;margin-top:20px;font-size:1.0625rem;color:var(--dim)}
.trio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2.8vw,36px);align-items:end}
.card-img{overflow:hidden}
.card-img img{width:100%;height:auto;transition:transform .8s ease}
.card:hover .card-img img{transform:scale(1.03)}
.card-titulo{font-family:var(--serif);font-size:1.45rem;line-height:1.15;padding-top:14px}
.como{padding:clamp(60px,9vw,110px) var(--gut)}
.como h2,.passos{max-width:1320px;margin-inline:auto}
.como h2{margin-bottom:clamp(28px,5vw,48px)}
.passos{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(18px,2.6vw,36px);counter-reset:p}
.passos li{counter-increment:p;display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--fio);padding-top:18px;font-size:.9375rem;color:var(--dim)}
.passos li::before{content:"0" counter(p)}
.passos li b{font-family:var(--serif);font-weight:400;font-size:1.45rem;line-height:1.15;color:var(--fg)}

/* rodapé */
.site-footer{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px 30px;padding:38px var(--gut);border-top:1px solid var(--fio)}
.site-footer .selo{font-size:14px}
.footer-copy{font-size:.75rem;color:var(--dim)}
.footer-copy a{text-decoration:underline;text-underline-offset:3px}

/* WhatsApp flutuante */
.wa-float{position:fixed;right:22px;bottom:22px;z-index:280;display:flex;align-items:center;gap:10px;background:var(--claro);color:var(--tinta);
  padding:13px 20px;box-shadow:0 6px 26px rgba(0,0,0,.45);transition:transform .25s}
.wa-float:hover{transform:translateY(-3px)}
.wa-float svg{width:17px;height:17px;flex:none}
.btn-wa-mobile{display:none}

@media (max-width:1000px){
  .obras-grid{columns:2}
  .passos{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
  .nav-cta{display:none}
  .assin{font-size:.9375rem;letter-spacing:.24em}
  nav .nav-back{font-size:.625rem;letter-spacing:.16em}
  .modal-inner{grid-template-columns:1fr;overflow-y:auto}
  .modal-img-wrap img{max-height:52vh}
  .edicao-box{grid-template-columns:1fr}
  .edicao-item+.edicao-item,.edicao-sep+.edicao-item{border-top:1px solid var(--fio)}
  .rel-grid,.trio-grid{grid-template-columns:1fr}
  .wa-float{display:none}
  .btn-wa-mobile{display:flex;align-items:center;justify-content:center;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:280;
    background:var(--claro);color:var(--tinta);padding:16px;box-shadow:0 -6px 22px rgba(0,0,0,.4)}
  .btn-wa-mobile svg{width:16px;height:16px}
  .site-footer{padding-bottom:84px}
}
@media (max-width:520px){
  .obras-grid{columns:1}
  .passos{grid-template-columns:1fr}
  nav .nav-logo .assin{display:none}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important}
}

/* ================= páginas EN ================= */
.nav-link,.open-eyebrow,.open-field-label,.price-cur,.btn-buy,.oh-eyebrow,.oh-meta,.oc-badge,.oc-soon,.pp-eyebrow,.pp-updated,.nl-form button,.open-help,.authority-link{
  font-family:var(--sans);font-size:.6875rem;font-weight:400;letter-spacing:.24em;text-transform:uppercase;line-height:1.55}
.nav-link{transition:opacity .2s}
.nav-link:hover{opacity:.65}

/* obra Open: bloco de compra */
.open-box{border:1px solid var(--fio);padding:clamp(20px,3.4vw,34px);margin-block:34px}
.open-eyebrow{color:var(--dim);margin-bottom:10px}
.open-tagline{margin-bottom:24px}
.open-field-label{color:var(--dim);margin-bottom:10px}
.size-selector{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.size-pill{font-family:var(--sans);font-size:.875rem;color:var(--fg);background:none;border:1px solid var(--fio);padding:.7em 1.1em;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.size-pill:hover{border-color:var(--fg)}
.size-pill.active{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.price-row{display:flex;align-items:baseline;gap:10px;margin-bottom:14px}
.price-value{font-family:var(--serif);font-size:2.8rem;line-height:1;font-variant-numeric:lining-nums}
.price-cur{color:var(--dim)}
.open-ship{font-size:.9375rem;margin-bottom:6px}
.open-ship strong,.receive-note strong,.guarantee strong,.trust-list b,.pp-wrap strong{font-weight:500}
.ship-eta,.crop-note,.made-to-order{font-size:.8125rem;color:var(--dim)}
.ship-eta{margin-bottom:22px}
.ship-eta a,.open-err a,.oc-sec-sub a,.col-nav a,.nl-consent a,.pp-wrap a{text-decoration:underline;text-underline-offset:3px}
.value-note{border-left:1px solid var(--fg);padding-left:18px;margin-bottom:22px}
.value-note p{font-size:.9375rem;color:var(--dim);margin-bottom:8px}
.value-note p:last-child{margin-bottom:0}
.value-note .value-note-lead{font-family:var(--serif);font-size:1.4rem;line-height:1.2;color:var(--fg)}
.crop-note{margin-bottom:18px}
.btn-buy{display:flex;width:100%;align-items:center;justify-content:center;background:var(--fg);color:var(--bg);border:0;padding:1.3em;cursor:pointer;transition:opacity .25s}
.btn-buy:hover{opacity:.82}
.btn-buy[disabled]{opacity:.5;cursor:wait}
.guarantee{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--fio);padding:14px 16px;margin-top:18px;font-size:.875rem;color:var(--dim)}
.guarantee strong{color:var(--fg)}
.guarantee-ico{width:20px;height:20px;flex:none;margin-top:2px;color:var(--fg)}
.made-to-order{margin-top:12px}
.trust-list{list-style:none;display:flex;flex-direction:column;gap:8px;margin-top:20px}
.trust-list li{font-size:0}
.trust-list li span{font-size:.875rem;color:var(--dim)}
.trust-list b{color:var(--fg)}
.receive-note{font-size:.875rem;color:var(--dim);margin-top:20px;padding-top:20px;border-top:1px solid var(--fio)}
.receive-note strong{color:var(--fg)}
.open-err{display:none;font-size:.875rem;color:#8c2f22;margin-top:14px}
.open-help{display:inline-block;margin-top:18px;border-bottom:1px solid currentColor;padding-bottom:3px;text-decoration:none}
.authority{display:flex;align-items:flex-start;gap:18px;margin-top:38px;padding-top:28px;border-top:1px solid var(--fio)}
.authority-photo{width:72px;height:72px;flex:none;border-radius:50%;object-fit:cover;object-position:top;filter:grayscale(1)}
.authority-name{font-family:var(--serif);font-size:1.35rem;line-height:1.2;margin-bottom:8px}
.authority p{font-size:.875rem;color:var(--dim)}
.authority .aw{color:var(--fg)}
.authority-link{display:inline-block;margin-top:12px;border-bottom:1px solid currentColor;padding-bottom:3px}

/* Open Edition e coleções por tema */
.oh-hero{padding:clamp(130px,16vw,200px) var(--gut) clamp(40px,6vw,70px);max-width:1320px;margin-inline:auto}
.oh-eyebrow,.pp-eyebrow{color:var(--dim);margin-bottom:16px}
.oh-title,.pp-title{font-family:var(--serif);font-weight:400;font-size:clamp(3rem,7.4vw,5.6rem);line-height:1;letter-spacing:-.008em}
.oh-sub{max-width:42em;color:var(--dim);font-size:1.0625rem;margin-top:22px}
.oh-meta{margin-top:26px}
.col-nav{margin:0 var(--gut);padding:16px 0;border-block:1px solid var(--fio);font-size:.875rem;color:var(--dim)}
.oc-section{padding:clamp(34px,5vw,60px) var(--gut)}
.oc-section+.oc-section{border-top:1px solid var(--fio)}
.oc-sec-head{max-width:46rem;margin-bottom:clamp(26px,4vw,44px)}
.oc-sec-title{font-family:var(--serif);font-weight:400;font-size:clamp(2rem,4vw,3rem);line-height:1.06}
.oc-sec-sub{color:var(--dim);margin-top:12px}
.oc-grid{columns:3;column-gap:clamp(16px,2.6vw,34px)}
.oc-card{display:block;break-inside:avoid;margin-bottom:clamp(28px,3.6vw,48px)}
.oc-img{overflow:hidden}
.oc-img img{width:100%;height:auto;transition:transform .8s ease}
.oc-card:hover .oc-img img{transform:scale(1.03)}
.oc-body{padding-top:14px}
.oc-badge{color:var(--dim);font-size:.625rem}
.oc-title{font-family:var(--serif);font-size:1.5rem;line-height:1.15;margin:4px 0 6px}
.oc-price{font-size:.875rem;color:var(--dim)}
.oc-price.oc-soon{font-size:.625rem}

/* lista de e-mails */
.nl-band{--fg:var(--tinta);--bg:var(--papel);--dim:var(--dim-papel);--fio:var(--fio-papel);background:var(--papel);color:var(--tinta);padding:clamp(60px,9vw,110px) var(--gut)}
.nl-inner{max-width:40rem;margin-inline:auto;text-align:center}
.nl-title{font-family:var(--serif);font-weight:400;font-size:clamp(2.2rem,4.6vw,3.4rem);line-height:1.05;margin-bottom:16px}
.nl-sub{color:var(--dim);margin-bottom:28px}
.nl-form{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.nl-form input{font-family:var(--sans);font-size:.9375rem;color:var(--tinta);background:none;border:1px solid var(--tinta);padding:.85em 1em;min-width:220px;outline:none}
.nl-form input:focus{box-shadow:0 0 0 1px var(--tinta)}
.nl-form button{background:var(--tinta);color:var(--papel);border:0;padding:1.1em 1.9em;cursor:pointer;transition:opacity .25s}
.nl-form button:hover{opacity:.82}
.nl-form button:disabled{opacity:.5;cursor:wait}
.nl-form .nl-hp{position:absolute;left:-5000px;opacity:0;pointer-events:none}
.nl-consent{font-size:.8125rem;color:var(--dim);margin-top:16px}
.nl-msg{margin-top:16px}

/* páginas legais */
.pp-wrap{max-width:calc(46rem + 2*var(--gut));margin-inline:auto;padding:clamp(130px,16vw,190px) var(--gut) clamp(60px,9vw,110px)}
.pp-title{font-size:clamp(2.6rem,6vw,4.2rem);margin-bottom:14px}
.pp-updated{color:var(--dim);margin-bottom:clamp(30px,5vw,48px)}
.pp-wrap h2{font-family:var(--serif);font-weight:400;font-size:1.75rem;line-height:1.15;margin:44px 0 12px}
.pp-wrap p,.pp-wrap li{color:var(--dim)}
.pp-wrap p{margin-bottom:14px}
.pp-wrap ul,.pp-wrap ol{margin:0 0 14px 1.2em}
.pp-wrap li{margin-bottom:8px}
.pp-wrap strong,.pp-wrap a{color:var(--fg)}

@media (max-width:1000px){.oc-grid{columns:2}}
@media (max-width:520px){.oc-grid{columns:1}.nl-form input{min-width:0;width:100%}}

/* séries e obras EN: contato por e-mail */
.nav-email,.modal-email,.modal-price,.email-float,.footer-links{font-family:var(--sans);font-size:.6875rem;font-weight:400;letter-spacing:.24em;text-transform:uppercase;line-height:1.55}
.nav-email{transition:opacity .2s}
.nav-email:hover{opacity:.65}
.modal-actions,.modal-cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:8px}
.modal-email{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--claro);padding:1.05em 1.6em;transition:background .25s,color .25s}
.modal-email:hover{background:var(--claro);color:var(--tinta)}
.modal-email svg{width:16px;height:16px}
.modal-price{color:var(--dim);margin-bottom:10px}
.email-float{position:fixed;left:22px;bottom:22px;z-index:280;display:flex;align-items:center;gap:10px;background:var(--noite);color:var(--claro);border:1px solid rgba(244,241,235,.5);padding:13px 20px}
.email-float svg{width:17px;height:17px;flex:none}
.footer-links{display:flex;flex-wrap:wrap;gap:8px 22px;color:var(--dim)}
.footer-email{text-decoration:underline;text-underline-offset:3px}
@media (max-width:760px){.nav-email{display:none}.email-float{padding:14px;border-radius:50%}.email-float span{display:none}}

/* ================= páginas de estrutura própria ================= */
/* Silent Flight (conjunto de 3) */
.hero{max-width:1100px;margin-inline:auto;padding:clamp(130px,16vw,190px) var(--gut) clamp(40px,6vw,60px);text-align:center}
.hero .eyebrow,.price-note,.trust,.so-trust,.so-state,.so-bar-info,.so-buy,.obra-info p,.badge,.pp-wrap .eyebrow{font-family:var(--sans);font-size:.6875rem;font-weight:400;letter-spacing:.24em;text-transform:uppercase;line-height:1.55}
.hero .eyebrow{color:var(--dim);margin-bottom:16px}
.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(2.8rem,6.6vw,5rem);line-height:1.02;margin-bottom:18px}
.hero .sub{max-width:38em;margin-inline:auto;color:var(--dim);font-size:1.0625rem}
.hero .sub em,.section em{font-style:italic}
.hero .trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2.4vw,28px);padding:clamp(36px,5vw,56px) 0 clamp(30px,4vw,44px);max-width:1000px;margin-inline:auto;align-items:start}
.hero .trio figure{margin:0}
.hero .trio img{width:100%;aspect-ratio:2/3;object-fit:cover}
.hero .trio figcaption{font-family:var(--serif);font-size:1.35rem;line-height:1.15;margin-top:14px}
.hero .fc-sub{font-size:.6875rem;letter-spacing:.24em;text-transform:uppercase;color:var(--dim);margin-top:4px}
.hero .price-row{justify-content:center;gap:16px;margin-bottom:8px}
.hero .price{font-family:var(--serif);font-size:2.8rem;line-height:1}
.price-was{color:var(--dim);text-decoration:line-through}
.price-note{color:var(--dim);margin-bottom:26px}
.buy{display:inline-flex;align-items:center;justify-content:center;background:var(--fg);color:var(--bg);border:0;padding:1.2em 3em;cursor:pointer;transition:opacity .25s;font-family:var(--sans);font-size:.6875rem;letter-spacing:.24em;text-transform:uppercase}
.buy:hover{opacity:.82}
.buy[disabled]{opacity:.5;cursor:wait}
.hero .err,.so-err{display:none;color:#d98c8c;font-size:.875rem;margin-top:14px}
.hero .err a{text-decoration:underline}
.trust{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 30px;max-width:48em;margin:30px auto 0;color:var(--dim);letter-spacing:.16em}
.hero .ship-eta{margin:18px 0 0}
.hero .made-to-order{max-width:48em;margin:12px auto 0}
.section{max-width:46rem;margin:clamp(40px,6vw,64px) auto 0;padding:clamp(40px,6vw,64px) var(--gut) 0;border-top:1px solid var(--fio);text-align:center}
.section h2{font-family:var(--serif);font-weight:400;font-size:clamp(1.9rem,3.6vw,2.6rem);line-height:1.08;margin-bottom:16px}
.section p{color:var(--dim);margin-bottom:12px}
.section a{text-decoration:underline;text-underline-offset:3px}
.artist-block{padding-bottom:clamp(50px,7vw,80px)}
.artist-photo{width:84px;height:84px;object-fit:cover;object-position:top;border-radius:50%;margin:0 auto 18px;filter:grayscale(1)}
.artist-block .aw{color:var(--fg)}
.artist-link{display:inline-block;margin-top:6px;font-size:.6875rem;letter-spacing:.24em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:3px}

/* Studio Offer (escolha de uma obra) */
.so-state{margin:0 var(--gut) 10px;max-width:40em;border:1px solid var(--fio);padding:16px 18px;color:var(--dim);font-size:.9375rem;letter-spacing:0;text-transform:none}
.so-state b{font-weight:500;color:var(--fg)}
.so-state .so-price{font-family:var(--serif);font-size:1.7rem;line-height:1.1;margin:6px 0 2px;color:var(--fg)}
.so-state .so-price s{color:var(--dim);font-size:1.1rem;margin-right:8px}
.so-state a{text-decoration:underline;text-underline-offset:3px}
.oc-grid#so-grid{columns:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2.6vw,34px);padding:clamp(28px,4vw,44px) var(--gut) 140px}
.so-card{border:1px solid transparent;padding:0}
.so-card.selected{outline:1px solid var(--fg);outline-offset:8px}
.so-card.selected .so-pick{color:var(--fg)}
.so-card.selected .so-pick::before{content:"✓ "}
.so-bar{position:fixed;left:0;right:0;bottom:0;z-index:300;display:none;align-items:center;justify-content:space-between;gap:16px;padding:16px var(--gut);background:rgba(9,9,9,.96);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--fio-noite)}
.so-bar.on{display:flex}
.so-bar-info{color:var(--dim);min-width:0;letter-spacing:.16em;font-size:.625rem}
.so-bar-info .t{display:block;font-family:var(--serif);font-size:1.3rem;letter-spacing:0;text-transform:none;color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.so-bar-price{white-space:nowrap}
.so-bar-price s{color:var(--dim);font-size:.8125rem;margin-right:6px}
.so-buy{background:var(--claro);color:var(--tinta);border:0;padding:1.1em 2em;cursor:pointer;white-space:nowrap;transition:opacity .25s}
.so-buy:hover{opacity:.82}
.so-buy:disabled{opacity:.5;cursor:not-allowed}
.so-trust{padding:0 var(--gut) 12px;color:var(--dim)}
.so-note{padding:0 var(--gut) clamp(40px,6vw,64px);max-width:52em;font-size:.875rem;color:var(--dim)}
.so-note a{text-decoration:underline}
.so-err{margin:0 var(--gut) 14px}
@media (max-width:1000px){.oc-grid#so-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.hero .trio{grid-template-columns:1fr;max-width:340px}.so-bar{flex-wrap:wrap}}
@media (max-width:520px){.oc-grid#so-grid{grid-template-columns:1fr}}

/* obrigado, order-confirmed e verificar: um cartão centrado */
.container,.card{max-width:34rem;margin:0 auto;padding:clamp(120px,16vw,170px) var(--gut) clamp(60px,9vw,100px);text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px}
.card .mark,.check{font-size:0}
.card .mark::before,.check::before{content:"✓";font-size:2.2rem;font-family:var(--serif);line-height:1;display:inline-grid;place-items:center;width:64px;height:64px;border:1px solid var(--fio);border-radius:50%}
.container .logo,.card .logo,body>.logo{order:-1}
body>.logo{text-align:center;padding-top:clamp(120px,16vw,170px)}
body>.logo+.card{padding-top:40px}
.container h1,.card h1{font-family:var(--serif);font-weight:400;font-size:clamp(2.2rem,5vw,3.4rem);line-height:1.05}
.container p,.card p{color:var(--dim);max-width:30em}
.card .eyebrow{color:var(--dim);font-size:.6875rem;letter-spacing:.24em;text-transform:uppercase}
.divider{width:28px;height:1px;background:var(--fio);margin-block:8px}
.btn,.back{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--claro);padding:1em 1.7em;font-size:.6875rem;letter-spacing:.24em;text-transform:uppercase;margin-top:10px;transition:background .25s,color .25s}
.btn:hover,.back:hover{background:var(--claro);color:var(--tinta)}
.container .wa-float,body>.wa-float{font-size:0;padding:14px 20px;gap:0}
.container .wa-float::before,body>.wa-float::before{content:"Falar com a Vivian";font-size:.6875rem;letter-spacing:.24em;text-transform:uppercase}
html[lang="en"] .wa-float::before{content:"Email the studio"}
.card .subtitle{color:var(--dim);font-size:.6875rem;letter-spacing:.24em;text-transform:uppercase;margin-top:-6px}
.code-display{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.9375rem;letter-spacing:.12em;border:1px solid var(--fio);padding:12px 18px;margin-top:8px}
.loading{color:var(--dim)}
.result{display:none;width:100%}
.result.valid{border-top:1px solid var(--fio);padding-top:24px;margin-top:10px}
.badge{display:inline-block;padding:.6em 1.4em;margin-bottom:18px;border:1px solid var(--fio)}
.badge.ok{border-color:#7fb27f;color:#9fd49f}
.badge.fail{border-color:#c47a7a;color:#e0a0a0}
.obra-info{text-align:left;max-width:26em;margin-inline:auto}
.obra-info p{color:var(--dim);margin-bottom:10px}
.obra-info span{display:block;font-family:var(--serif);font-size:1.25rem;letter-spacing:0;text-transform:none;color:var(--fg);margin-top:2px}
.error-msg{color:#e0a0a0}
body>footer{text-align:center;color:var(--dim);font-size:.75rem;padding:30px var(--gut) 50px}
