.topbar{display:none!important}
.nav{top:0;padding:.7rem 5vw;background:rgba(255,244,239,.96);backdrop-filter:blur(12px);border-bottom:1px solid rgba(74,44,37,.13)}
.nav .logo{font-size:0;gap:0;display:flex;align-items:center;flex:none}
.nav .logo span,.nav .logo small{display:none}
.nav .logo-img{width:60px;height:60px;border:0;border-radius:50%;object-fit:cover;box-shadow:none;transition:transform .3s}
.nav .logo:hover .logo-img{transform:rotate(-7deg) scale(1.07)}
.foot .logo{display:flex;align-items:center;gap:.75rem;font-size:1.65rem}
.foot .logo .logo-img{width:58px;height:58px;border-radius:50%;object-fit:cover;border:2px solid var(--pink)}
.ic{width:1.2em;height:1.2em;display:inline-block;flex:none;vertical-align:middle}
.pill{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;box-shadow:3px 3px 0 var(--cocoa)}
.pill.wa,.send{background:#1f9f57}
.pill.wa:hover,.send:hover{background:#177b42}
.pill .ic{width:1.3rem;height:1.3rem}
.btn-ig{background:#fff;color:var(--cocoa)}
.btn-ig:hover{background:#f9ced9}
.hero{position:relative}
.hero:before{content:'';position:absolute;right:0;top:8%;width:38vw;height:38vw;max-width:520px;max-height:520px;border-radius:50%;background:#ffe0e8;z-index:-1}
.hero h1{letter-spacing:-.01em}
.print{border-radius:4px}
.strip div{padding:.4rem 0}
.strip b{width:52px;height:52px;flex:none;display:grid;place-items:center;border:2px dashed var(--gold);border-radius:50%;font-size:1.7rem}
.head h2:after{content:'';display:block;width:84px;height:8px;margin-top:.7rem;background:radial-gradient(circle at 4px 4px,var(--pink-d) 3px,transparent 4px) 0 0/16px 8px repeat-x}
.shot{transition:transform .3s,box-shadow .3s}
.shot:hover{transform:translate(-3px,-3px);box-shadow:8px 8px 0 var(--cocoa)}
.menu li{transition:padding .3s}
.menu li:hover{padding-left:.8rem}
.menu li:hover h3{color:var(--pink-d)}
.occasion-grid a{transition:transform .3s,box-shadow .3s}
.occasion-grid a:hover{transform:translateY(-6px);box-shadow:7px 10px 0 var(--cocoa)}
.ocasioes{background:#fff9f4;padding:5rem 5vw}
.ocasioes-in{max-width:1200px;margin:auto}
.ocasioes .head{margin-left:0}
.ocasioes .head>p:last-child{max-width:48rem;margin-top:1rem}
.occasion-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.occasion-grid a{display:block;position:relative;height:370px;border-radius:14px;overflow:hidden;background:#efd7d6;border:3px solid var(--cocoa);box-shadow:4px 5px 0 var(--cocoa);text-decoration:none}
.occasion-grid img{height:100%;width:100%;object-fit:cover;transition:transform .5s}
.occasion-grid a:hover img{transform:scale(1.06)}
.occasion-grid span{position:absolute;bottom:0;left:0;right:0;padding:2.3rem 1.2rem 1.2rem;background:linear-gradient(transparent,rgba(30,16,14,.85));color:#fff;font-size:1.1rem}
.occasion-grid b{display:block;font-family:'DM Serif Display';font-size:1.8rem;font-weight:400;line-height:1.1}
.closing{display:grid;grid-template-columns:1fr .75fr;gap:3rem;align-items:center;background:#f7d9da;padding:3rem max(5vw,calc((100vw - 1200px)/2));overflow:hidden}
.closing h2{font-size:clamp(2.2rem,4vw,3.8rem);margin:.5rem 0 1rem}
.closing p:not(.hand){max-width:30rem;margin-bottom:1.6rem}
.closing img{width:100%;height:360px;object-fit:cover;object-position:center 40%;border-radius:180px 180px 18px 18px;border:4px solid var(--cocoa);box-shadow:10px 10px 0 var(--cocoa)}
.foot{position:relative;padding-top:4.5rem;background:#412820}
.foot:before{content:'';position:absolute;top:-1px;left:0;right:0;height:18px;background:radial-gradient(circle at 9px 0,#f7d9da 9px,transparent 10px) 0 0/18px 18px repeat-x}
.foot-in{gap:clamp(2rem,5vw,5rem);align-items:start}
.foot-in>div{min-width:0}
.foot-in h4{font-size:1.65rem;margin-bottom:.9rem}
.foot-in>div>a:not(.logo){line-height:1.5;margin-bottom:.7rem;word-break:break-word}
.foot-in .line{display:flex;align-items:center}
.socials{display:flex;gap:.7rem;margin-top:1.2rem}
.socials a{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--pink);color:var(--cocoa);border:2px solid var(--cocoa);transition:.2s;margin:0;font-size:0}
.socials a:hover{transform:translateY(-4px);background:var(--pink-d);color:#fff}
.socials a.wa{background:#25d366;color:#fff}
.socials .ic{width:23px;height:23px}
.foot .copy{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;margin-top:3rem!important;padding-top:1.25rem;font-size:.85rem;color:#f7dfd6;opacity:.75}
.foot .copy span{display:inline!important;margin:0!important}
.fab{position:fixed;right:1.25rem;bottom:1.25rem;width:58px;height:58px;border-radius:50%;padding:0;display:grid;place-items:center;color:#fff;background:#1f9f57;border:2px solid #fff;box-shadow:0 8px 22px rgba(31,114,66,.35);text-decoration:none;z-index:60;transition:transform .2s,box-shadow .2s;animation:none}
.fab:hover{transform:translateY(-4px) scale(1.05);box-shadow:0 12px 28px rgba(31,114,66,.45)}
.fab .ic{width:29px;height:29px}
.fab span{display:none}
/* A foto é protagonista; logo da marca fica somente no menu, favicon e rodapé. */
.sobre-in{grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr);gap:clamp(2rem,7vw,6rem);align-items:center}
.sobre-in>div{position:relative;padding:2rem 0}
.sobre-in>div:before{content:'✳';display:block;color:var(--pink-d);font-size:2.8rem;line-height:1;margin-bottom:1.1rem}
.sobre-in .hand{margin:0 0 .6rem}
.sobre-in h2{font-size:clamp(2.25rem,4.2vw,3.8rem);max-width:11ch;margin-bottom:1.5rem}
.sobre-in p:not(.hand){font-size:1.02rem;line-height:1.75;max-width:32rem}
.sobre-in .sign{border-top:2px dashed rgba(74,44,37,.22);padding-top:1rem;max-width:32rem}
.sobre-in .p4{width:min(100%,500px);margin:auto;transform:rotate(-3deg);padding:.8rem .8rem 2.2rem;box-shadow:12px 18px 0 rgba(74,44,37,.13)}
.sobre-in .p4 img{aspect-ratio:4/5;object-fit:cover;object-position:center}
@media(max-width:900px){
 .hero:before{display:none}
 .nav .logo-img{width:49px;height:49px}
 .occasion-grid{grid-template-columns:repeat(2,1fr)}
 .occasion-grid a:last-child{grid-column:span 2;height:250px}
 .closing,.sobre-in{grid-template-columns:1fr}
 .sobre-in .p4{max-width:380px}
 .closing img{max-width:400px;height:320px}
 .foot{padding-top:3.5rem}
 .foot-in{gap:2rem}
 .foot .copy{margin-top:2rem!important}
}
@media(max-width:600px){
 .occasion-grid{grid-template-columns:1fr}
 .occasion-grid a,.occasion-grid a:last-child{grid-column:auto;height:300px}
 .closing{padding:3rem 5vw}
 .closing img{height:280px}
 .nav nav.open{inset:0 0 0 22%}
}
