@import "https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600&family=Playfair+Display:ital,wght@0,500;0,600;1,500&display=swap";.menu-toggle{cursor:pointer;background:0 0;border:0;width:44px;height:44px;padding:10px;display:none}.menu-toggle span{background:var(--brown);width:24px;height:2px;margin:5px 0;transition:transform .25s,opacity .2s;display:block}.menu-toggle.open span:first-child{transform:translateY(7px)rotate(45deg)}.menu-toggle.open span:nth-child(2){opacity:0}.menu-toggle.open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}:root{color:#5a4436;font-synthesis:none;--paper:#fffaf3;--brown:#5a4436;--rose:#93658e;--gold:#c99049;--sage:#6e9278;--plum:#744267;--line:#dfd1bf;background:#f7efe4;font-family:Montserrat,system-ui,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}h1,h2,h3{margin:.25em 0;font-family:Playfair Display,Georgia,serif}h1{font-size:clamp(2.8rem,7vw,6rem);line-height:.95}h2{font-size:clamp(2rem,5vw,3.5rem)}p{line-height:1.75}a{color:inherit;text-decoration:none}.eyebrow{text-transform:uppercase;letter-spacing:.25em;color:var(--gold);margin-bottom:1rem;font-size:.68rem;font-weight:600;display:block}.nav{z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f7efe4f0;border-bottom:1px solid #dfd1bfb3;justify-content:space-between;align-items:center;height:72px;padding:0 clamp(1.2rem,5vw,5rem);display:flex;position:sticky;top:0}.brand{font-family:Playfair Display,serif;font-size:1.25rem}.nav nav{text-transform:uppercase;letter-spacing:.13em;gap:2rem;font-size:.72rem;display:flex}.hero{background:#ead9cb;grid-template-columns:1.05fr .95fr;min-height:calc(100vh - 72px);display:grid}.hero-image{background:linear-gradient(145deg,#74426740,#c9904933),url(/default-hero.jpg) 50%/cover no-repeat;min-height:560px}.hero-copy{flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(3rem,8vw,8rem);display:flex}.hero-copy p{max-width:34rem;font-family:Playfair Display,serif;font-size:1.35rem;font-style:italic}.button{background:var(--brown);color:#fffaf3;text-transform:uppercase;letter-spacing:.16em;cursor:pointer;border:0;padding:1rem 1.4rem;font-size:.7rem;font-weight:600}.button:hover{background:var(--gold)}.button:disabled{opacity:.55;cursor:wait}.section{max-width:1500px;margin:auto;padding:clamp(5rem,10vw,9rem) clamp(1.2rem,8vw,8rem)}.narrow{text-align:center;max-width:850px}.narrow p{font-family:Playfair Display,serif;font-size:1.2rem}.gallery{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.2rem;display:grid}.gallery figure{background:var(--paper);margin:0;padding:.6rem}.gallery img{aspect-ratio:4/5;object-fit:cover;width:100%}.gallery figcaption{padding:.8rem;font-family:Playfair Display,serif}.celebration{text-align:center;background:var(--plum);color:#fff;max-width:none}.celebration strong{font-family:Playfair Display,serif;font-size:1.6rem}.form-section{grid-template-columns:1fr 1.15fr;align-items:start;gap:clamp(3rem,8vw,8rem);display:grid}.form-section form,.admin-card{background:var(--paper);border:1px solid var(--line);padding:clamp(1.5rem,4vw,3rem);box-shadow:0 18px 60px #5a443614}label{text-transform:uppercase;letter-spacing:.12em;margin-bottom:1.25rem;font-size:.72rem;font-weight:600;display:block}input,textarea{border:1px solid var(--line);width:100%;font:inherit;color:inherit;background:#fff;margin-top:.5rem;padding:.85rem;display:block}input:focus,textarea:focus{border-color:var(--gold);outline:2px solid #c9904966}input[type=file]{text-transform:none}.check{text-transform:none;letter-spacing:0;align-items:flex-start;gap:.7rem;font-weight:400;line-height:1.5;display:flex}.check input{width:auto;margin:.2rem 0}.error{color:#a32f35}.success{color:#39714a}.mural{columns:3 290px;column-gap:1.2rem}.tribute{break-inside:avoid;background:var(--paper);border:1px solid var(--line);margin:0 0 1.2rem;padding:1.6rem}.quote{color:var(--rose);font-family:Georgia,serif;font-size:4rem;line-height:.5}.photo-grid{grid-template-columns:repeat(2,1fr);gap:.4rem;margin:1rem 0;display:grid}.photo-grid img{aspect-ratio:1;object-fit:cover;width:100%;display:block}.tribute-foot{border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding-top:1rem;display:flex}.tribute-foot small,.tribute-foot strong{display:block}.tribute-foot button{color:var(--plum);cursor:pointer;background:0 0;border:0;font-size:1rem}.tribute-foot button.liked{color:#c65468}.pager{justify-content:center;align-items:center;gap:1rem;margin:2rem;display:flex}.pager button,.filters button,.actions button,.admin-head button,.admin-post>div button{border:1px solid var(--brown);color:var(--brown);cursor:pointer;background:0 0;padding:.7rem 1rem}.pager button:disabled{opacity:.35}footer{text-align:center;border-top:1px solid var(--line);padding:3rem;font-size:.75rem}.admin-shell{max-width:1100px;min-height:100vh;margin:auto;padding:clamp(2rem,6vw,5rem)}.admin-card{max-width:440px;margin:8vh auto}.admin-head{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.admin-head h1{font-size:2.7rem}.filters{flex-wrap:wrap;gap:.5rem;margin-bottom:2rem;display:flex}.filters button.active{background:var(--brown);color:#fff}.admin-list{gap:1rem;display:grid}.admin-post{background:var(--paper);border:1px solid var(--line);padding:1.5rem}.admin-post header{justify-content:space-between;gap:1rem;display:flex}.admin-post h3{font-size:1.5rem}.badge{text-transform:uppercase;letter-spacing:.1em;height:max-content;padding:.4rem .7rem;font-size:.65rem}.badge.aprovada{background:#dce9df}.badge.negada{background:#eddbe8}.badge.avaliando{background:#f0dfbd}.actions{border-top:1px solid var(--line);gap:.5rem;padding-top:1rem;display:flex}.admin-post textarea{margin:1rem 0}.admin-post>div button{margin-right:.5rem}@media (width<=800px){.nav nav{display:none}.hero{grid-template-columns:1fr}.hero-image{min-height:52vh}.hero-copy{padding:3rem 1.5rem}.form-section{grid-template-columns:1fr}.section{padding:4.5rem 1.3rem}.admin-head{align-items:flex-start}.admin-head h1{font-size:2rem}.photo-grid{grid-template-columns:repeat(2,1fr)}}.brand{font-style:italic}.brand span{color:var(--gold)}.brand small{text-transform:uppercase;letter-spacing:.25em;color:#8a7566;margin-left:.6rem;font:600 .6rem Montserrat,sans-serif}.nav nav{gap:clamp(.8rem,1.8vw,1.75rem);font-size:clamp(.58rem,.8vw,.68rem)}.hero-intro{font-family:Montserrat,sans-serif!important;font-size:1rem!important;font-style:normal!important}.hero-name{margin:3.5rem 0 2.5rem;font-size:clamp(4.5rem,7.3vw,8.5rem);font-weight:500;line-height:.95}.hero-name span,.hero-name em{display:block}.hero-name em{color:#9561c2;margin-top:.2em;font-weight:500}.hero-copy .hero-tagline{color:#9561c2;margin:0 0 2.6rem;font-family:Playfair Display,Georgia,serif;font-size:clamp(1.6rem,2.5vw,2.6rem);font-style:italic}.hero-copy .hero-intro{color:#765f4f;max-width:50rem;margin-bottom:2.8rem;line-height:1.65}.hero-dates{grid-template-columns:1fr 1fr;gap:.75rem;width:100%;margin:1rem 0 2rem;display:grid}.hero-dates span{border:1px solid var(--line);background:#fffaf366;flex-direction:column;gap:.5rem;padding:1rem;font-family:Playfair Display,serif;display:flex}.hero-dates small{color:var(--gold);text-transform:uppercase;letter-spacing:.2em;font:600 .62rem Montserrat,sans-serif}.gallery-section{background:var(--brown);color:#fffaf3;max-width:none}.story-section{max-width:none;padding-left:clamp(2rem,4vw,4.5rem);padding-right:clamp(2rem,4vw,4.5rem)}.story-eyebrow{justify-content:center;align-items:center;gap:2rem;display:flex}.story-eyebrow:before,.story-eyebrow:after{content:"";background:var(--gold);opacity:.65;width:8rem;height:1px}.story-eyebrow .eyebrow{margin:0}.story-section h2{text-align:center;margin:4.5rem 0 5rem;font-size:clamp(3rem,5.5vw,6rem);font-weight:500}.story-section h2 em{color:#9561c2;font-weight:500}.story-section>p{color:#765744;max-width:1500px;margin:0 auto;font-family:Playfair Display,Georgia,serif;font-size:clamp(1.55rem,2.15vw,2.35rem);font-style:italic;line-height:1.75}.story-section>p+p{margin-top:2.2rem}.gallery-section>p{opacity:.75;font-family:Playfair Display,serif;font-style:italic}.celebration{max-width:none;color:var(--brown);text-align:center;background:#f7efe4}.celebration h2{margin:1.7rem auto 1.6rem;font-size:clamp(3rem,5.3vw,5.8rem);font-weight:500}.celebration h2 em{color:#9561c2;font-weight:500}.celebration-intro{margin:0 auto;font-family:Montserrat,sans-serif;font-size:clamp(1rem,1.4vw,1.5rem)}.celebration-grid{text-align:left;grid-template-columns:repeat(2,1fr);gap:1.8rem;max-width:1500px;margin:5.5rem auto 0;display:grid}.celebration-grid article{border:1px solid var(--line);background:var(--paper);border-radius:1rem;align-items:center;gap:1.5rem;min-height:10.5rem;padding:2rem;display:flex}.celebration-grid article>div{flex-direction:column;gap:1rem;display:flex}.celebration-grid small{color:#eb955b;text-transform:uppercase;letter-spacing:.25em;font:600 .75rem Montserrat,sans-serif}.celebration-grid strong{font-family:Playfair Display,Georgia,serif;font-size:clamp(1.25rem,1.6vw,1.8rem);font-weight:500}.celebration-grid strong.pending{color:#907665;font-style:italic}.celebration-icon{color:#9561c2;background:#fbe3e5;border-radius:50%;flex:0 0 5rem;place-items:center;width:5rem;height:5rem;display:grid}.celebration-icon svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:2rem;height:2rem}.mural-section>.eyebrow,.mural-section>h2{text-align:center;display:block}.mural-section>h2{margin:1.7rem auto 4rem;font-size:clamp(3.2rem,6vw,6.5rem);font-weight:500}.mural-section>h2 em{color:#9561c2;font-weight:500}.tribute>p,.admin-post>p{white-space:pre-line}.tribute .photo-grid button{cursor:zoom-in;background:0 0;border:0;padding:0}.tribute .photo-grid button:only-child{grid-column:1/-1}.tribute .photo-grid button:only-child img{aspect-ratio:auto;object-fit:contain;width:100%;height:auto}.gallery figure button{cursor:zoom-in;background:0 0;border:0;width:100%;padding:0;display:block}.lightbox{z-index:1000;background:#533727f0;place-items:center;padding:6rem 1.5rem 2rem;display:grid;position:fixed;inset:0}.lightbox img{object-fit:contain;border-radius:.75rem;width:auto;max-width:min(92vw,1100px);height:auto;max-height:calc(100vh - 8rem);display:block;box-shadow:0 25px 80px #00000059}.lightbox-close{color:#fffaf3;cursor:pointer;background:#ffffff1f;border:0;border-radius:50%;place-items:center;width:5.5rem;height:5.5rem;padding:0 0 .35rem;font:300 3.5rem/1 Montserrat,sans-serif;display:grid;position:fixed;top:1.5rem;right:2rem}.lightbox-close:hover{background:#fff3}.mural-total,.mural-empty{text-align:center}.mural-empty .button{margin-top:1rem;display:inline-block}.file-copy{border:2px dashed var(--line);color:#8a7566;text-transform:none;letter-spacing:0;flex-direction:column;align-items:center;gap:.4rem;margin-top:.5rem;padding:1.5rem;font-family:Playfair Display,serif;font-size:1rem;display:flex}.file-copy small{font-family:Montserrat,sans-serif;font-size:.7rem}.form-section{background:#ebd3b847;max-width:none;display:block}.tribute-heading{text-align:center;max-width:1500px;margin:0 auto 4.5rem}.tribute-heading h2{margin:1.7rem 0 1.5rem;font-size:clamp(3.2rem,6vw,6.5rem);font-weight:500}.tribute-heading h2 em{color:#9561c2;font-weight:500}.tribute-heading p{color:#765f4f;margin:0;font-family:Montserrat,sans-serif;font-size:clamp(1rem,1.5vw,1.65rem)}.form-section form{max-width:850px;margin:0 auto}footer p:first-child{font-family:Playfair Display,serif;font-size:1.2rem;font-style:italic}footer p:nth-child(2),footer a{text-transform:uppercase;letter-spacing:.2em;opacity:.7;margin-top:1rem;font-size:.65rem;display:block}@media (width<=800px){.menu-toggle{display:block}.nav nav{border-bottom:1px solid var(--line);background:#fffaf3fa;flex-direction:column;gap:0;padding:1.25rem;display:none;position:absolute;top:72px;left:0;right:0;box-shadow:0 14px 30px #5a44361f}.nav nav.open{display:flex}.nav nav a{border-bottom:1px solid #dfd1bfb3;padding:1rem .5rem}.nav nav a:last-child{border-bottom:0}.brand small{display:none}.hero-dates,.celebration-grid{grid-template-columns:1fr}.celebration-grid{gap:1rem;margin-top:3rem}.celebration-grid article{min-height:8rem;padding:1.25rem}.celebration-icon{flex-basis:3.5rem;width:3.5rem;height:3.5rem}.hero-name{margin:2.5rem 0 2rem;font-size:clamp(4rem,18vw,6.5rem)}.story-eyebrow{gap:1rem}.story-eyebrow:before,.story-eyebrow:after{width:3rem}.story-section h2{margin:3rem 0}}
