:root{color-scheme:light;--bg: #fbfaf7;--surface: #fffefb;--surface-soft: #f2eee7;--ink: #22211f;--muted: #6e6860;--line: #d4c8b7;--line-strong: #b9a579;--accent: #9b783e;--accent-soft: #efe3cf;--shadow: 0 28px 80px rgba(34, 30, 22, .11);--serif: "Libre Baskerville", Georgia, "Times New Roman", serif;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root[data-theme=marfim]{--bg: #f8f3ea;--surface: #fffdf9;--surface-soft: #f0e7d8;--ink: #27231d;--muted: #756c60;--line: #dfd2bf;--line-strong: #dfd2bf;--accent: #8c6a42;--accent-soft: #eee1ce}:root[data-theme=noite]{color-scheme:dark;--bg: #151515;--surface: #1e1e1d;--surface-soft: #252522;--ink: #f7f1e8;--muted: #b9b1a6;--line: #37342f;--line-strong: #37342f;--accent: #c8ab73;--accent-soft: rgba(200, 171, 115, .13);--shadow: 0 28px 80px rgba(0, 0, 0, .3)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink)}a{color:inherit;text-decoration:none}button{cursor:pointer;font:inherit}img{max-width:100%}.site-header{position:sticky;top:0;z-index:20;display:flex;justify-content:center;padding:28px 20px 16px;background:color-mix(in srgb,var(--bg),transparent 8%);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.top-nav{display:flex;max-width:calc(100vw - 32px);align-items:center;gap:8px;overflow-x:auto;padding:2px}.nav-pill,.quiet-button{display:inline-flex;min-height:38px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--surface),transparent 8%);color:var(--ink);font-size:.72rem;font-weight:760;letter-spacing:.22em;line-height:1;padding:12px 18px;text-transform:uppercase;white-space:nowrap;transition:border-color .16s ease,color .16s ease,transform .16s ease,background .16s ease}.nav-pill:hover,.quiet-button:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}.theme-picker{flex:0 0 auto}.theme-cycle-button{display:inline-flex;min-height:38px;align-items:center;justify-content:center;gap:9px;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--surface),transparent 6%);color:var(--ink);padding:8px 12px 8px 10px;font-size:.84rem;font-weight:800;line-height:1;white-space:nowrap;transition:border-color .16s ease,color .16s ease,transform .16s ease,background .16s ease}.theme-cycle-button:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}.theme-swatch{display:flex;overflow:hidden;width:34px;height:18px;border:1px solid var(--line);border-radius:999px;background:var(--surface-soft)}.theme-swatch span{flex:1}.theme-label{min-width:52px;text-align:left}.hero{display:grid;justify-items:center;min-height:calc(100vh - 84px);padding:clamp(26px,6vw,70px) 20px 44px;text-align:center}.hero-rule{width:min(520px,70vw);height:1px;margin:0 auto clamp(44px,8vh,72px);background:var(--line-strong)}.hero-rule-bottom{margin:clamp(48px,8vh,72px) auto 22px}.portrait{width:clamp(112px,14vw,156px);height:clamp(112px,14vw,156px);border-radius:50%;object-fit:cover;object-position:center 28%;filter:grayscale(100%);box-shadow:0 16px 42px #0000001f}.photo-fallback.portrait{display:grid;place-items:center;background:radial-gradient(circle at 35% 28%,color-mix(in srgb,var(--accent),white 40%),transparent 28%),linear-gradient(145deg,var(--surface-soft),var(--accent-soft));color:var(--ink);font-family:var(--serif);font-size:1.8rem;letter-spacing:.08em}.hero-role,.section-label{margin:clamp(48px,8vh,72px) 0 0;color:var(--muted);font-size:.74rem;font-weight:760;letter-spacing:.38em;text-transform:uppercase}h1,h2,h3,p{overflow-wrap:anywhere}h1,h2,h3{margin:0}h1{margin-top:clamp(42px,8vh,70px);color:var(--ink);font-family:var(--serif);font-size:clamp(2.1rem,5vw,4.35rem);font-weight:400;letter-spacing:.08em;line-height:1.18;text-transform:uppercase}h2{font-family:var(--serif);font-size:clamp(2rem,4.6vw,4.4rem);font-weight:400;letter-spacing:0;line-height:1.12}h3{font-size:1.05rem;font-weight:400;letter-spacing:.04em;text-transform:uppercase}.ornament{width:28px;height:1px;margin:clamp(42px,7vh,64px) 0 20px;background:var(--line-strong)}.social-row{display:flex;gap:10px}.social-row a{display:grid;width:38px;height:38px;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--muted);transition:border-color .16s ease,color .16s ease,transform .16s ease}.social-row a:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}.intro-section,.focus-section,.photos-section,.materials-section,.contact-section{padding:clamp(70px,10vw,140px) clamp(20px,6vw,92px)}.intro-section,.photos-section,.contact-section{border-top:1px solid var(--line)}.intro-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(320px,.8fr);gap:clamp(34px,7vw,96px);align-items:start;margin-top:26px}.prose{display:grid;gap:20px}.prose p,.focus-list p,.materials-section .section-heading p,.material-row p,.preview-modal p{margin:0;color:var(--muted);font-size:1rem;line-height:1.78}.focus-section{background:var(--surface-soft)}.focus-section .section-label,.photos-section .section-label,.materials-section .section-label,.contact-section .section-label{margin-top:0}.focus-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:30px;background:var(--line)}.focus-list article{display:grid;min-width:0;overflow:hidden;background:var(--bg)}.focus-photo{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover;filter:saturate(.9) contrast(.96)}.focus-copy{display:grid;gap:20px;padding:clamp(24px,4vw,40px)}.focus-list svg{color:var(--accent)}.section-heading{display:grid;gap:16px;margin-bottom:34px}.section-heading.centered{justify-items:center;text-align:center}.section-heading.centered h2{max-width:12ch}.section-heading.centered p:not(.section-label){max-width:52ch}.gallery-frame{position:relative}.photo-track{display:flex;gap:14px;overflow-x:auto;overflow-y:hidden;padding:0 54px 12px;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none}.photo-track::-webkit-scrollbar{display:none}.photo-card{flex:0 0 calc((100% - 28px) / 3);display:grid;grid-template-rows:auto auto;min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:3px;margin:0;background:var(--surface);scroll-snap-align:start}.photo-card img,.photo-card .photo-fallback{display:block;width:100%;aspect-ratio:4 / 3;height:auto;object-fit:cover;filter:saturate(.92) contrast(.98);transition:filter .18s ease,transform .18s ease}.photo-card:hover img{filter:saturate(1) contrast(1);transform:scale(1.018)}.photo-card figcaption{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:56px;border-top:1px solid var(--line);padding:12px 14px;color:var(--muted);font-size:.78rem;letter-spacing:.18em;text-transform:uppercase}.photo-card figcaption strong{color:var(--ink);font-weight:680}.gallery-nav{position:absolute;top:calc(50% - 28px);z-index:2;display:grid;width:42px;height:42px;place-items:center;border:1px solid var(--line);border-radius:50%;background:color-mix(in srgb,var(--surface),transparent 6%);color:var(--ink);box-shadow:var(--shadow);transition:border-color .16s ease,color .16s ease,transform .16s ease,background .16s ease}.gallery-nav:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}.gallery-nav-prev{left:0}.gallery-nav-next{right:0}.photo-fallback:not(.portrait){display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);font-family:Georgia,Times New Roman,serif;font-size:2.4rem;letter-spacing:.08em}.materials-section{background:var(--surface-soft)}.materials-list{display:grid;gap:10px;max-width:920px;margin:0 auto}.material-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:center;border:1px solid var(--line);border-radius:2px;padding:18px;background:var(--surface)}.material-row>svg{color:var(--accent)}.material-row span{color:var(--accent);font-size:.72rem;font-weight:780;letter-spacing:.22em;text-transform:uppercase}.material-row h3{margin:5px 0}.material-actions{display:flex;align-items:center;gap:9px}.material-actions strong{color:var(--ink);font-weight:760}.material-actions button,.material-actions a{display:inline-grid;min-height:36px;place-items:center;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--ink);padding:0 12px}.contact-section{display:grid;justify-items:center;text-align:center}.contact-section svg{color:var(--accent)}.contact-section h2{max-width:12ch;margin:18px 0 28px}.contact-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 18px;border-top:1px solid var(--line);padding:24px clamp(20px,6vw,92px);color:var(--muted);font-size:.82rem}.developer-credit{color:var(--ink);font-size:.72rem;font-weight:780;letter-spacing:.16em;text-transform:uppercase;transition:color .16s ease}.developer-credit:hover{color:var(--accent)}.modal-backdrop{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:20px;background:#14141485}.preview-modal{position:relative;display:grid;grid-template-columns:minmax(240px,.68fr) minmax(280px,.78fr);gap:clamp(22px,5vw,54px);width:min(840px,100%);border:1px solid var(--line);border-radius:2px;padding:clamp(24px,4vw,42px);background:var(--surface);box-shadow:var(--shadow)}.icon-button{position:absolute;top:14px;right:14px;display:grid;width:38px;height:38px;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--ink)}.score-preview{display:grid;align-content:center;justify-items:center;gap:10px;min-height:280px;background:var(--surface-soft);color:var(--accent)}.score-preview span{width:68%;height:1px;background:color-mix(in srgb,var(--ink),transparent 72%)}.preview-modal h2{margin:14px 0 16px;font-size:clamp(1.8rem,4vw,3.5rem)}.preview-modal .quiet-button{margin-top:24px}@media(max-width:920px){.intro-grid,.focus-list,.preview-modal{grid-template-columns:1fr}.photo-card{flex-basis:calc((100% - 14px)/2)}}@media(max-width:720px){.photo-track{padding:0 46px 12px}.photo-card{flex-basis:100%}.gallery-nav{width:38px;height:38px}}@media(max-width:650px){.site-header{justify-content:flex-start}.hero{min-height:auto}h1{font-size:clamp(1.7rem,8vw,2.5rem);letter-spacing:.14em}.hero-role,.section-label{letter-spacing:.24em}.material-row{grid-template-columns:1fr}.material-actions{flex-wrap:wrap}footer{flex-direction:column}}
