:root{--navy:#071b2b;--navy-2:#0c2b3e;--gold:#caa95a;--gold-light:#f0dc9a;--paper:#f7f5ef;--cream:#fffdf7;--ink:#102b3b;--muted:#667781;--line:#142f3b20;--red:#ef233c}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,"Segoe UI",Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}.site-header{height:88px;padding:0 6vw;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:30;background:rgba(247,245,239,.95);border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}.brand{display:flex;align-items:center;gap:12px}.brand>span{width:48px;height:48px;border-radius:15px;background:var(--navy);color:var(--gold-light);display:grid;place-items:center;font-weight:900;border:1px solid #caa95a66}.brand b{font-size:13px;letter-spacing:.15em}.brand small{display:block;color:var(--muted);letter-spacing:0;margin-top:3px}.site-header nav{display:flex;align-items:center;gap:24px;font-size:12px;font-weight:850}.site-header nav a{padding:35px 0;white-space:nowrap}.menu{display:none;border:0;background:none;font-size:25px;color:var(--ink)}.cart-open{border:1px solid var(--navy);background:var(--navy);color:#fff;border-radius:999px;padding:11px 17px;font-weight:850;cursor:pointer}.cart-open b{display:inline-grid;place-items:center;min-width:23px;height:23px;margin-left:5px;padding:0 6px;border-radius:999px;background:var(--gold);color:var(--navy)}.hero{min-height:690px;display:grid;grid-template-columns:1fr 1fr;background:var(--navy);color:#fff;overflow:hidden}.hero-copy{padding:clamp(75px,9vw,135px) 4vw clamp(75px,9vw,120px) 7vw;align-self:center}.eyebrow{font-size:11px;font-weight:900;letter-spacing:.2em;color:var(--gold-light)}h1,h2{font-family:Georgia,"Times New Roman",serif;font-weight:500;letter-spacing:-.045em;line-height:.98}h1{font-size:clamp(58px,6.7vw,104px);margin:22px 0 26px}h1 em{color:var(--gold-light);font-weight:500}.hero p{max-width:650px;color:#bdcbd3;font-size:18px;line-height:1.75}.hero-actions{display:flex;gap:12px;align-items:center;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 25px;border-radius:999px;border:0;font-weight:900;cursor:pointer}.button.primary{background:var(--gold);color:var(--navy)}.button.ghost{background:transparent;color:#fff;border:1px solid #ffffff40}.hero-copy>small{display:block;margin-top:25px;color:#8fa5b2}.hero-visual{position:relative;min-height:600px;background:radial-gradient(circle at 50% 45%,#28556a 0,#0c2b3e 48%,#071b2b 75%);overflow:hidden}.halo{position:absolute;width:73%;aspect-ratio:1;border:1px solid #efd88b55;border-radius:50%;left:14%;top:14%;box-shadow:0 0 100px #d4b35d20}.hero-visual img{position:absolute;border-radius:50%;object-fit:cover;box-shadow:0 35px 85px #0009;border:1px solid #f3dfa35c}.hero-main{width:65%;aspect-ratio:1;left:8%;top:10%;transform:rotate(-6deg)}.hero-detail{width:34%;aspect-ratio:1;right:7%;bottom:8%;transform:rotate(9deg)}.intro{padding:105px 7vw;display:grid;grid-template-columns:1.12fr .88fr;gap:10vw;align-items:end}.eyebrow.dark{color:#9a7420}.intro h2,.section-heading h2{font-size:clamp(46px,5.5vw,82px);margin:20px 0 0}.intro p,.section-heading p{font-size:17px;color:var(--muted);line-height:1.8}.collection{padding:100px 7vw 125px;background:var(--cream)}.section-heading{display:grid;grid-template-columns:1fr .55fr;gap:5vw;align-items:end;margin-bottom:48px}.section-heading .eyebrow{grid-column:1/-1}.section-heading h2{margin:0}.section-heading p{margin:0}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.product{background:#fff;border:1px solid var(--line);border-radius:25px;overflow:hidden;box-shadow:0 18px 45px #071b2b0d;transition:transform .25s,box-shadow .25s}.product:hover{transform:translateY(-5px);box-shadow:0 26px 55px #071b2b18}.product-image{position:relative;aspect-ratio:1;background:#efe7d6;overflow:hidden}.product-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s}.product:hover img{transform:scale(1.025)}.product-image span{position:absolute;left:18px;top:18px;padding:8px 11px;border-radius:999px;background:rgba(7,27,43,.9);color:#fff;font-size:10px;font-weight:900;letter-spacing:.1em}.product-copy{padding:25px}.product-copy small{color:#927021;font-size:11px;font-weight:900;letter-spacing:.12em}.product-copy h3{font:500 27px/1.15 Georgia,"Times New Roman",serif;margin:10px 0 16px;min-height:62px}.product-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px}.product-bottom strong{font-size:22px}.add{border:0;border-radius:999px;background:var(--navy);color:#fff;min-height:44px;padding:0 18px;font-weight:900;cursor:pointer}.add:hover{background:#17445d}.assurance{padding:90px 7vw;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.assurance article{padding:34px;border-top:1px solid #b99b4a}.assurance span{font-size:11px;font-weight:900;color:#9a7420}.assurance h3{font:500 28px Georgia;margin:24px 0 12px}.assurance p{color:var(--muted);line-height:1.65;margin:0}footer{padding:55px 7vw;background:#03111d;color:#fff;display:flex;align-items:center;gap:35px}footer .brand>span{background:#fff;color:var(--navy)}footer .brand small{color:#8ca1ae}footer p{flex:1;color:#93a7b3}footer a{font-weight:850;color:var(--gold-light)}.floating-cart{position:fixed;right:24px;bottom:24px;z-index:25;box-shadow:0 14px 35px #071b2b50;display:none}dialog{width:min(600px,calc(100% - 28px));border:0;border-radius:28px;padding:42px;color:var(--ink);box-shadow:0 25px 80px #0006}dialog::backdrop{background:#071b2bd9;backdrop-filter:blur(8px)}dialog .close{position:absolute;right:20px;top:18px;width:42px;height:42px;border:0;border-radius:50%;background:var(--navy);color:#fff;font-size:25px;cursor:pointer}dialog h2{font-size:42px;margin:12px 0 25px}.cart-items article{display:grid;grid-template-columns:64px 1fr auto;gap:15px;align-items:center;border-top:1px solid var(--line);padding:15px 0}.cart-items img{width:64px;height:64px;border-radius:13px;object-fit:cover}.cart-items span{display:grid;gap:5px}.cart-items small{color:var(--muted)}.cart-items button{border:0;background:none;color:var(--red);font-weight:800;cursor:pointer}.cart-items .empty{padding:25px 0;color:var(--muted)}.total{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:22px 0;font-size:20px}.order{width:100%}dialog>small{display:block;margin-top:14px;text-align:center;color:var(--muted)}@media(max-width:1000px){.site-header nav{position:absolute;top:88px;left:0;right:0;padding:20px 6vw;background:var(--paper);display:none;flex-wrap:wrap;box-shadow:0 20px 40px #071b2b1f}.site-header.open nav{display:flex}.menu{display:block}.hero{grid-template-columns:1fr}.hero-visual{min-height:570px}.intro,.section-heading{grid-template-columns:1fr}.product-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.site-header{height:76px;padding:0 18px}.site-header nav{top:76px;flex-direction:column;align-items:stretch}.hero-copy{padding:75px 23px}.hero-visual{min-height:430px}.hero-main{width:70%;left:3%}.hero-detail{width:39%;right:4%}.hero-actions{align-items:stretch;flex-direction:column}.button{width:100%}.intro,.collection{padding:75px 22px}.product-grid,.assurance{grid-template-columns:1fr}.section-heading{margin-bottom:30px}.product-copy h3{min-height:auto}.assurance{padding:70px 22px}.assurance article{padding:28px 0}footer{flex-direction:column;align-items:flex-start}.floating-cart{display:block}dialog{padding:35px 20px}.cart-items article{grid-template-columns:58px 1fr}.cart-items article>button{grid-column:2;text-align:left;padding:0}.cart-items img{width:58px;height:58px}}
/* Logotipo oficial do Instituto */
.brand{font-size:0}.brand>span,.brand>b,.brand>strong,.brand>small,.brand>em{display:none!important}
.brand:not(:has(img))::before{content:"";display:block;width:230px;height:64px;flex:0 0 230px;background:url('../../assets/logo-instituto-paulista.jpg') center/contain no-repeat;border-radius:7px}
.brand:not(:has(img))>b:first-child,.brand:not(:has(img))>span:first-child{display:none!important}
@media(max-width:620px){.brand:not(:has(img))::before{width:180px;height:50px;flex-basis:180px}.brand:not(:has(img))>b:last-child{display:none}}
