:root{--navy:#253e65;--deep:#101d33;--blue:#2291cc;--ice:#eafbff;--gold:#ebc62d;--ink:#1d2b43;--mut:#595957;--line:#d3e6ee}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;font:300 17px/1.7 Jost,system-ui,sans-serif;color:var(--ink);background:#f7fdff}
h1,h2,h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;line-height:1.1;margin:0}
a{color:inherit}img{display:block;max-width:100%}
.lbl{font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);display:block}.lbl.b{color:var(--blue)}
.hd{position:sticky;top:0;z-index:9;display:flex;justify-content:space-between;align-items:center;padding:16px 6vw;background:rgba(16,29,51,.94);backdrop-filter:blur(10px);color:#fff}
.logo{font:500 1.7rem "Cormorant Garamond",serif;letter-spacing:.1em;text-decoration:none}
.hd nav{display:flex;gap:28px;align-items:center;font-size:.76rem;letter-spacing:.18em;text-transform:uppercase}.hd nav a{text-decoration:none}
.btn{display:inline-block;padding:15px 34px;background:var(--gold);color:var(--navy);text-decoration:none;font-size:.76rem;letter-spacing:.2em;text-transform:uppercase;font-weight:500;border:0;cursor:pointer;font-family:inherit}
.btn.sm{padding:9px 20px}.btn.o{background:none;color:#fff;border:1px solid rgba(235,198,45,.65)}.btn.o.d{color:var(--navy);border-color:var(--navy)}
.hero{min-height:86vh;display:flex;flex-direction:column;justify-content:center;padding:0 6vw;color:#fff;background:radial-gradient(60% 80% at 82% 15%,rgba(34,145,204,.4),transparent 70%),linear-gradient(160deg,#1c3354,#101d33 70%)}
.hero h1{font-size:clamp(3.2rem,9vw,7rem);max-width:11ch;margin:20px 0 22px}.hero h1 em{color:var(--gold)}
.hero p{max-width:44ch;opacity:.82;font-size:1.2rem;margin:0 0 38px}.hero .btn{margin:0 12px 12px 0}
.rule{width:64px;height:1px;background:var(--gold);margin:24px 0}
.sec{padding:100px 6vw}.sec h2{font-size:clamp(2.3rem,4.6vw,3.8rem);margin-top:10px}
.dark{background:var(--deep);color:#fff}
.cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-top:48px}
.cat{background:#fff;padding:44px 30px;text-decoration:none;transition:background .3s,color .3s}.cat:hover{background:var(--navy);color:#fff}.cat h3{font-size:1.8rem;margin-top:12px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:44px 36px;margin-top:48px}
.pc{text-decoration:none}.im{aspect-ratio:4/5;background:linear-gradient(135deg,#dff3fa,#b9dff0);overflow:hidden}
.pc .im img{width:100%;height:100%;object-fit:cover;transition:transform .9s}.pc:hover .im img{transform:scale(1.05)}
.pc .lbl{margin-top:16px}.pc h3{font-size:1.8rem;margin:6px 0 2px}.mut{color:var(--mut);font-size:.92rem}
.svc{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:50px;margin-top:40px}.svc h3{font-size:2rem;color:var(--gold);margin-bottom:10px}.svc p{opacity:.8;margin:0}
.det{display:grid;grid-template-columns:1.05fr 1fr;gap:6vw;padding:70px 6vw}.det .im img{width:100%;height:100%;object-fit:cover}.det h1{font-size:clamp(2.4rem,5vw,4rem);margin-top:8px}
.spec{width:100%;border-collapse:collapse;margin:26px 0}.spec td{padding:10px 0;border-bottom:1px solid var(--line);font-size:.95rem}.spec td:first-child{color:var(--mut);width:46%}
.price{font:500 2rem "Cormorant Garamond",serif;color:var(--blue)}
.flt{display:flex;gap:20px;flex-wrap:wrap;margin-top:8px}.flt label{font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;color:var(--mut)}.flt select{display:block;margin-top:6px;padding:10px 14px;border:1px solid var(--line);background:#fff;font:inherit;min-width:200px}
.ft{background:var(--deep);color:#fff;text-align:center;padding:60px 6vw}.ft p{margin:8px 0;opacity:.75}
[hidden]{display:none!important}
.adm{max-width:1100px;margin:0 auto;padding:30px 5vw}.adm h2{font-size:2rem;margin-bottom:14px}.pn{background:#fff;border:1px solid var(--line);padding:24px;margin-bottom:24px}
.adm label{display:block;font-size:.8rem;color:var(--mut);margin:12px 0 4px}.adm input,.adm select,.adm textarea{width:100%;padding:10px 12px;border:1px solid var(--line);font:inherit;background:#fff}
.r2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.fs{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.li{display:flex;align-items:center;gap:14px;padding:10px 0;border-bottom:1px solid var(--line)}.li img,.li i{width:52px;height:52px;object-fit:cover;background:#dff3fa}.li div{flex:1}
.ok{background:#e4f6e8;padding:10px 16px;margin-bottom:16px}.er{background:#fde8e8;padding:10px 16px;margin-bottom:16px}
@media(max-width:800px){.det,.r2,.fs{grid-template-columns:1fr}.hd nav a:not(.btn){display:none}.sec{padding:70px 6vw}}
h1,h2,h3{font-variant-numeric:lining-nums}
.price{font:500 1.9rem Jost,system-ui,sans-serif;color:var(--navy);letter-spacing:.01em;font-variant-numeric:lining-nums;margin:6px 0 24px}
.fr{display:grid;grid-template-columns:1fr auto auto auto auto auto;gap:8px;align-items:center;margin-bottom:8px}
.adm .ck{display:flex;align-items:center;gap:6px;margin:0;white-space:nowrap;font-size:.85rem}.adm .ck input{width:auto}
.fr button,.addf{padding:8px 12px;border:1px solid var(--line);background:#fff;cursor:pointer;font:inherit}.addf{margin-top:6px}
@media(max-width:800px){.fr{grid-template-columns:1fr 1fr 1fr}.fr input[type=text],.fr input:not([type]){grid-column:1/-1}}

/* Capa responsiva: imagem ilustrativa e logomarca incorporada na arte */
.hero-photo{min-height:0;padding:0;background:var(--deep);display:block;position:relative}
.hero-photo picture{display:block}.hero-art{display:block;width:100%;height:min(74vw,760px);object-fit:cover;object-position:center 55%}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;padding:22px 5vw;background:var(--deep)}.hero-actions .btn{margin:0}
.projects{text-align:center;padding:42px 6vw;display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap}.projects strong{font:500 clamp(3rem,7vw,5rem) Jost,sans-serif;color:var(--gold)}.projects span{font-size:1.2rem;text-transform:uppercase;letter-spacing:.1em}
.reviews{text-align:center;background:var(--ice)}.review-stage{max-width:760px;margin:30px auto 0;min-height:210px}.review{margin:0;padding:24px;background:#fff;box-shadow:0 8px 24px #10253b12}.review p{font-size:1.1rem}.review cite{font-style:normal;font-weight:500}.stars{color:#c38c00;font-size:1.4rem;letter-spacing:.12em}.review-controls{display:flex;gap:16px;justify-content:center;margin-top:16px}.review-controls button{border:1px solid var(--navy);border-radius:50%;background:#fff;color:var(--navy);width:44px;height:44px;cursor:pointer;font-size:1.7rem}
@media(max-width:700px){.hero-art{height:auto;max-height:none;object-fit:contain}.hero-actions{padding:18px 5vw;display:grid;grid-template-columns:1fr}.hero-actions .btn{text-align:center}.hd{padding:12px 4vw}.hd nav{gap:8px}.hd .logo{font-size:1.35rem}.hd nav .btn{font-size:.65rem;letter-spacing:.02em;padding:8px}.review-stage{min-height:260px}.projects{gap:6px}}
/* v1.2 — slideshow, galerias e avaliações */
.hero-slider{position:relative}.hero-slide{position:relative}.slide-caption{position:absolute;left:6%;bottom:6%;max-width:min(550px,85%);padding:24px;background:rgba(16,29,51,.84);color:#fff}.slide-caption h2{font-size:clamp(1.7rem,3.5vw,3.2rem);margin-bottom:12px}.slide-controls{position:absolute;left:0;right:0;bottom:94px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;pointer-events:none}.slide-controls button{pointer-events:auto;cursor:pointer}.slide-controls>button{border:0;border-radius:50%;width:44px;height:44px;background:#fff;color:var(--navy);font-size:2rem}.slide-dots{display:flex;gap:10px}.slide-dots button{width:11px;height:11px;border:1px solid white;border-radius:50%;background:#fff8}.slide-dots button[aria-current=true]{background:var(--gold)}
.product-gallery{min-width:0}.gallery-main{aspect-ratio:4/5}.gallery-main img{width:100%;height:100%;object-fit:contain}.gallery-thumbs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:12px}.gallery-thumb{padding:0;border:2px solid transparent;cursor:pointer;background:var(--ice);aspect-ratio:1/1;overflow:hidden}.gallery-thumb[aria-pressed=true]{border-color:var(--blue)}.gallery-thumb img{width:100%;height:100%;object-fit:cover}
.admin-gallery{margin:14px 0}.admin-img-row{display:flex;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}.admin-img-row img{width:74px;height:74px;object-fit:cover}.admin-img-row button{padding:6px 12px;cursor:pointer}.admin-img-row .ck{margin-left:auto}
.reviews{text-align:left}.reviews-head{display:flex;justify-content:space-between;align-items:center;gap:24px}.reviews-head h2{font-family:Jost,sans-serif;font-size:clamp(1.3rem,3vw,2rem);font-weight:500}.reviews-head .btn{white-space:nowrap}.google-word span:nth-child(1),.google-word span:nth-child(4){color:#4285f4}.google-word span:nth-child(2),.google-word span:nth-child(6){color:#ea4335}.google-word span:nth-child(3){color:#fbbc05}.google-word span:nth-child(5){color:#34a853}.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:28px}.review{min-width:0;display:flex;flex-direction:column;min-height:245px;background:#fff;border-radius:12px;padding:22px}.review-person{display:flex;gap:12px;align-items:center}.review-avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--navy);color:white;font-weight:500}.review .stars{margin:12px 0 0;font-size:1.1rem;color:#f5ac00}.review p{font-size:1rem;line-height:1.5;overflow-wrap:anywhere;margin:8px 0 20px}.review-source{margin-top:auto;font-size:.8rem}.review-source a{display:block;color:var(--blue)}
@media(max-width:959px){.review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:649px){.review-grid{grid-template-columns:1fr}.reviews-head{align-items:flex-start;flex-direction:column}.slide-caption{padding:14px;left:4%;bottom:5%}.slide-caption h2{font-size:1.5rem}.slide-controls{bottom:110px}.admin-img-row{flex-wrap:wrap}.review{min-height:220px}}

/* v1.4 — galeria: imagem completa, sem recorte e sem altura fixa */
.det .product-gallery .gallery-main{aspect-ratio:auto;height:auto;min-height:0;overflow:visible;background:#fff;display:flex;align-items:center;justify-content:center}
.det .product-gallery .gallery-main img{display:block;width:auto;max-width:100%;height:auto;max-height:78vh;object-fit:contain;object-position:center;margin-inline:auto;transform:none}
.det .product-gallery .gallery-thumb img{object-fit:contain;object-position:center;transform:none}
@media(max-width:800px){.det .product-gallery .gallery-main img{max-height:70vh}}

/* v1.5 — limite da foto principal no desktop, sem recorte */
@media(min-width:801px){
  .det .product-gallery .gallery-main{max-height:500px;overflow:hidden}
  .det .product-gallery .gallery-main img{width:auto;height:auto;max-width:100%;max-height:500px;object-fit:contain;object-position:center}
}

/* v1.6 — enquadramento validado no navegador */
.det .product-gallery .gallery-main{height:500px!important;max-height:500px!important;min-height:0!important;aspect-ratio:auto!important;overflow:hidden!important;display:flex;align-items:center;justify-content:center;background:#fff}
.det .product-gallery .gallery-main img#product-main{display:block;width:100%!important;height:100%!important;max-width:100%;max-height:100%;object-fit:contain!important;object-position:center!important;transform:none!important;cursor:zoom-in}
.det .product-gallery .gallery-main img#product-main:focus-visible{outline:3px solid var(--blue);outline-offset:-3px}
.det .product-gallery .gallery-thumb img{object-fit:contain!important}
@media(max-width:800px){.det .product-gallery .gallery-main{height:min(72vw,440px)!important;max-height:440px!important}}
.gallery-zoom{position:fixed;inset:0;z-index:99999;background:rgba(7,17,30,.94);border:0;padding:0;margin:0;width:100%;height:100%;max-width:none;max-height:none;color:#fff}
.gallery-zoom:not([open]){display:none}.gallery-zoom::backdrop{background:rgba(7,17,30,.94)}
.gallery-zoom__image{position:absolute;inset:56px 60px 62px;width:calc(100% - 120px);height:calc(100% - 118px);object-fit:contain;object-position:center}
.gallery-zoom__button{position:absolute;z-index:1;cursor:pointer;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.5);border-radius:50%;color:#fff;width:44px;height:44px;font-size:28px;display:grid;place-items:center}
.gallery-zoom__close{right:16px;top:12px}.gallery-zoom__prev{left:12px;top:50%;transform:translateY(-50%)}.gallery-zoom__next{right:12px;top:50%;transform:translateY(-50%)}
.gallery-zoom__counter{position:absolute;bottom:16px;left:0;right:0;text-align:center;color:#fff;font:400 14px Jost,system-ui,sans-serif}
@media(max-width:700px){.gallery-zoom__image{inset:65px 12px 65px;width:calc(100% - 24px);height:calc(100% - 130px)}.gallery-zoom__prev,.gallery-zoom__next{top:auto;bottom:10px;transform:none}.gallery-zoom__prev{left:12px}.gallery-zoom__next{right:12px}}

/* v1.7 — capa desktop sem cortes; mobile preservado */
@media (min-width:701px) {
  .hero-photo .hero-slide { background:var(--deep); }
  .hero-photo .hero-art { display:block; width:100%; height:auto; max-height:500px; object-fit:contain; object-position:center; }
}
/* Logo oficial no cabecalho */
.hd .logo--image { display:flex; align-items:center; flex-shrink:0; line-height:1; }
.hd .logo--image img { display:block; width:auto; height:46px; max-width:min(38vw,220px); object-fit:contain; }
@media (max-width:700px) { .hd .logo--image img { height:38px; max-width:42vw; } }
