:root{--ivory:#faf6ee;--navy:#14213d;--burg:#6d1a2b;--gold:#b08d3c;--ink:#2a2a2a}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--ivory);color:var(--ink);font:17px/1.65 Georgia,"Times New Roman",serif}
html[data-lang=pt] [lang=en],html[data-lang=en] [lang=pt]{display:none!important}
h1,h2,h3{font-family:"Cormorant Garamond",Garamond,Georgia,serif;color:var(--navy);font-weight:600;letter-spacing:.02em}
h2{font-size:2.1rem;text-align:center;margin:0 0 .3em}
.rule{width:120px;height:1px;background:var(--gold);margin:.4em auto 2em;position:relative}
.rule:after{content:"◆";position:absolute;left:50%;top:-.75em;transform:translateX(-50%);color:var(--gold);background:var(--ivory);padding:0 .4em;font-size:.8rem}
header{position:sticky;top:0;z-index:10;background:var(--navy);color:var(--ivory);border-bottom:2px solid var(--gold)}
.bar{max-width:1100px;margin:auto;display:flex;align-items:center;gap:1rem;padding:.6rem 1rem}
.brand{color:var(--ivory);text-decoration:none;font-size:1.1rem;letter-spacing:.08em;margin-right:auto;display:flex;align-items:center;gap:.6rem}
.mono-s{width:34px;height:34px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold);font-size:.9rem}
nav a{color:var(--ivory);text-decoration:none;margin:0 .5rem;font-size:.92rem;letter-spacing:.05em}nav a:hover{color:var(--gold)}
#lang{background:none;border:1px solid var(--gold);color:var(--gold);padding:.3rem .7rem;cursor:pointer;font:inherit;font-size:.85rem}
#menu{display:none;background:none;border:0;color:var(--ivory);font-size:1.5rem}
.hero{background:radial-gradient(circle at 50% 30%,#1f3160,var(--navy));color:var(--ivory);text-align:center;padding:6rem 1rem 5rem}
.mono{width:140px;height:140px;margin:0 auto 1.5rem;border:2px solid var(--gold);border-radius:50%;display:grid;place-items:center;outline:1px solid var(--gold);outline-offset:6px}
.mono span{font-size:3.2rem;color:var(--gold);font-style:italic}
.hero h1{color:var(--ivory);font-size:clamp(2rem,5vw,3.4rem);margin:.2em 0}
.hero p{color:#d9cfb8;max-width:640px;margin:auto}.hero .sub{color:var(--gold);letter-spacing:.2em;text-transform:uppercase;font-size:.85rem}
section{padding:4.5rem 1rem}section.alt{background:#f2ebdc}
.wrap{max-width:900px;margin:auto}
.timeline{list-style:none;padding:0;margin:0;border-left:2px solid var(--gold);margin-left:1rem}
.timeline li{position:relative;padding:0 0 1.8rem 1.8rem}
.timeline li:before{content:"";position:absolute;left:-8px;top:.45em;width:12px;height:12px;background:var(--burg);border:2px solid var(--gold);transform:rotate(45deg)}
.timeline .y{font-weight:bold;color:var(--burg);font-size:1.15rem}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem}
.card{background:#fff;border:1px solid #e3d8bf;border-top:3px solid var(--gold);padding:1.5rem}
.card h3{margin-top:0}.motto{font-style:italic;color:var(--burg)}
.ph{border:2px dashed var(--burg);background:#fff5f5;color:var(--burg);padding:1rem;font-family:monospace;font-size:.85rem;margin:1rem 0}
.photo{aspect-ratio:4/5;max-width:280px;margin:0 auto 1.5rem;display:grid;place-items:center;text-align:center}
.note{font-size:.85rem;color:#666}
form{display:grid;gap:.8rem;max-width:520px;margin:auto}input,textarea{font:inherit;padding:.6rem;border:1px solid #cbbd9c;background:#fff}
button.s{background:var(--burg);color:var(--ivory);border:0;padding:.8rem;font:inherit;letter-spacing:.1em}
footer{background:var(--navy);color:#bfb59e;text-align:center;padding:2rem 1rem;font-size:.85rem;border-top:2px solid var(--gold)}
@media(max-width:820px){#menu{display:block}nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--navy);flex-direction:column;padding:1rem}nav.open{display:flex}nav a{padding:.5rem}.hero{padding:4rem 1rem}h2{font-size:1.7rem}}
.wrap.wide{max-width:1100px}.profiles{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.profile h3{text-align:center;margin:.2em 0}.profile .role{text-align:center;color:var(--burg);font-style:italic;margin-top:0}
.profile .photo{max-width:240px}
@media(max-width:820px){.profiles{grid-template-columns:1fr}}
.portrait{display:block;max-width:240px;margin:0 auto 1.5rem;padding:6px;border:1px solid var(--gold);outline:1px solid var(--gold);outline-offset:4px;background:#fff}
.portrait img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 15%}
.couple{max-width:640px;margin:0 auto 2.5rem;padding:8px;background:#fff;border:1px solid var(--gold);outline:1px solid var(--gold);outline-offset:5px}
.couple img{display:block;width:100%;height:auto}
.couple figcaption{text-align:center;font-style:italic;color:var(--burg);padding-top:.5rem;font-size:.95rem}
.bio{text-align:justify;hyphens:auto;font-size:.97rem}
.lead{font-size:1.05rem;margin:0 0 2.2rem;text-align:justify;hyphens:auto}
.female{margin-top:1.5rem;background:#fff;border:1px solid #e3d8bf;border-left:3px solid var(--burg);padding:1.4rem 1.6rem}
.female h3{margin:0 0 .4rem}.female p{margin:0}
.brand-arms{width:30px;height:auto;display:block;filter:drop-shadow(0 1px 1px rgba(0,0,0,.4))}
.hero-arms{display:block;width:150px;margin:0 auto 1.5rem}.hero-arms img{width:100%;height:auto;display:block;filter:drop-shadow(0 6px 14px rgba(0,0,0,.45))}
.origins{display:flex;gap:2rem;align-items:flex-start;margin-bottom:2.2rem}.origins .lead{margin:0;flex:1}
.arms-fig{margin:0;flex:0 0 150px;text-align:center}.arms-fig img{width:100%;height:auto;display:block}
.arms-fig figcaption,.pers-arms figcaption{font-style:italic;color:var(--burg);font-size:.85rem;margin-top:.4rem;line-height:1.35}
.pers-arms{margin:1.2rem auto 0;text-align:center;max-width:260px}.pers-arms img{width:90px;height:auto;display:block;margin:0 auto}
@media(max-width:620px){.origins{flex-direction:column;align-items:center}.arms-fig{flex-basis:auto;width:130px}.hero-arms{width:120px}}
.hero-arms{width:170px}.pers-arms img{width:110px}.arms-fig{flex-basis:160px}
.profile{display:flex;flex-direction:column}.profile .pers-arms{margin-top:auto;padding-top:1.2rem}
.pieces{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start}
.piece{padding:0;overflow:hidden}.piece img{display:block;width:100%;height:auto;border-bottom:3px solid var(--gold)}
.piece h3,.piece p{padding:0 1.4rem}.piece h3{margin-top:1.1rem}.piece p{font-size:.95rem}
.piece .more a{color:var(--burg);font-style:italic;text-decoration:none;border-bottom:1px solid var(--gold)}
.family-fig{margin:1.2rem 0 0;max-width:320px;padding:8px;background:#fff;border:1px solid var(--gold);outline:1px solid var(--gold);outline-offset:4px}
.family-fig img{display:block;width:100%;height:auto}
.family-fig figcaption{font-style:italic;color:var(--burg);font-size:.85rem;text-align:center;padding-top:.5rem;line-height:1.4}
@media(max-width:620px){.family-fig{max-width:80vw;margin-left:auto;margin-right:auto}}
.foot-contact{margin:0 0 .5rem}.foot-contact a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.timeline li.has-fig:after{content:"";display:table;clear:both}
.hist-fig{float:right;width:200px;margin:.2rem 0 .8rem 1.4rem;padding:7px;background:#fff;border:1px solid var(--gold);outline:1px solid var(--gold);outline-offset:4px}
.hist-fig img{display:block;width:100%;height:auto}
.hist-fig figcaption{font-style:italic;color:var(--burg);font-size:.8rem;text-align:center;padding-top:.45rem;line-height:1.35}
@media(max-width:620px){.hist-fig{float:none;width:60vw;margin:1rem auto .4rem}}
.feature{margin:2.5rem 0 1.5rem;padding:2rem 2.2rem;background:#fff;border:1px solid var(--gold);border-top:4px solid var(--burg)}
.feature .eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.75rem;color:var(--gold);margin:0}
.feature h3{margin:.3rem 0 1rem}
.feature p{line-height:1.7}
.dyk-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.1rem;margin:1.5rem 0}
.dyk{background:var(--navy,#14213d);color:#f3ead8;padding:1.3rem 1.4rem;border:1px solid var(--gold);position:relative}
.dyk:before{content:"◆";position:absolute;top:-.65rem;left:1.2rem;color:var(--gold);background:inherit;padding:0 .3rem;font-size:.8rem}
.dyk .dyk-h{font-variant:small-caps;letter-spacing:.08em;color:var(--gold);margin:0 0 .5rem;font-size:1.05rem}
.dyk p{margin:0;line-height:1.55;font-size:.95rem}
.dyk p+p{margin-top:0}
.credits{font-size:.78rem;color:#777;line-height:1.5;margin-top:1.5rem}
.credits a{color:inherit}
@media(max-width:620px){.feature{padding:1.4rem 1.2rem}}
@media(max-width:620px){.dyk-grid{grid-template-columns:1fr}}

.hist-pair .pair{display:flex;gap:8px;align-items:flex-end}.hist-pair .pair picture{flex:1}.hist-pair .pair img{width:100%;height:auto;display:block}

.card-link{margin-top:.8em;font-size:.9em}.card-link a{color:var(--burg)}

.hero .hero-nav{display:flex!important;position:static;background:none;flex-direction:row;padding:0;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:28px}
.hero .hero-nav a{margin:0;color:#f3e7c9;text-decoration:none;border:1px solid rgba(201,162,74,.7);padding:8px 16px;font-size:.95rem;letter-spacing:.04em;border-radius:2px;transition:background .2s,color .2s}
.hero-nav a:hover,.hero-nav a:focus{background:#c9a24a;color:#14213d}
@media(max-width:620px){.hero-nav{gap:8px}.hero-nav a{padding:7px 12px;font-size:.9rem}}
