@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@0,500;0,600;1,500&display=swap');
:root{color-scheme:light;--paper:#ede7dd;--ink:#302c26;--muted:#686157;--accent:#9b482b;--line:#c9bfb1}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;-webkit-font-smoothing:antialiased}.page{max-width:1600px;min-height:100svh;margin:auto;padding:0 clamp(24px,5vw,84px);display:flex;flex-direction:column}header{display:flex;justify-content:space-between;align-items:center;padding:30px 0;border-bottom:1px solid var(--line);gap:24px}.brand{display:flex;align-items:center;gap:14px;color:var(--ink);text-decoration:none;font-size:.875rem;letter-spacing:.12em;font-weight:600}.monogram{width:42px;height:42px;border:1px solid var(--accent);border-radius:50%;display:grid;place-items:center;color:var(--accent);font:italic 26px 'Playfair Display',Georgia,serif;letter-spacing:0}.address{font-size:.875rem;color:var(--muted)}main{flex:1;display:flex;align-items:center}.welcome{width:100%;display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,6vw,96px);align-items:center;padding:72px 0 80px}.eyebrow{color:var(--accent);font-size:.875rem;font-weight:600;letter-spacing:.18em}h1{font-family:'Playfair Display',Georgia,serif;font-weight:500;font-size:clamp(3.25rem,5.5vw,6.25rem);line-height:1.12;letter-spacing:-.045em;margin:24px 0 28px}h1 em{color:var(--accent);font-weight:500}.intro p{color:var(--muted);font-size:1.125rem;line-height:1.85;margin:0}.signature{display:flex;align-items:center;gap:16px;margin-top:42px;font-family:'Playfair Display',Georgia,serif;font-size:1.125rem;font-style:italic}.rule{width:42px;height:1px;background:var(--accent)}figure{margin:0;min-width:0}.art-frame{background:#29454c;aspect-ratio:1.1;overflow:hidden;border-radius:48% 48% 3px 3px;box-shadow:0 20px 55px #51442c12}.art-frame img{width:100%;height:100%;object-fit:cover;display:block}figcaption{display:flex;justify-content:space-between;gap:20px;margin-top:18px;color:var(--muted);font-size:.875rem}figcaption span:first-child{font-family:'Playfair Display',Georgia,serif;font-style:italic}figcaption span:last-child{font-size:.75rem;letter-spacing:.13em}footer{border-top:1px solid var(--line);padding:24px 0 28px;display:flex;justify-content:space-between;gap:16px;color:var(--muted);font-size:.875rem}a:focus-visible{outline:3px solid var(--accent);outline-offset:7px}@media(min-width:1600px){.welcome{gap:100px}}@media(max-width:800px){.welcome{grid-template-columns:1fr;gap:42px;padding:46px 0 48px}.intro{max-width:600px}h1{font-size:clamp(3.25rem,10vw,5rem)}.signature{margin-top:26px}figure{max-width:600px;width:100%;justify-self:center}.art-frame{aspect-ratio:1.2}.address{display:none}header{padding:22px 0}footer{flex-wrap:wrap;font-size:.8125rem}}@media(prefers-reduced-motion:no-preference){.welcome{animation:arrive .7s ease-out both}@keyframes arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}}

nav{display:flex;align-items:center;gap:28px}.login-link{color:#9b482b;font-size:13px;font-weight:600;text-decoration:none;border-bottom:1px solid #9b482b;padding:8px 0}.login-link:hover{color:#302c26}a:focus-visible{outline:2px solid #9b482b;outline-offset:6px}.auth-main{display:grid;place-items:center;min-height:65vh;padding:55px 0}.auth-card{max-width:520px;text-align:center;padding:50px 38px;border:1px solid #d4c8b8;border-radius:24px;background:#f6f1e9}.auth-card h1{font-size:clamp(40px,6vw,60px);line-height:1.05;margin:20px 0}.auth-card p{line-height:1.8;color:#655d53}.auth-button{display:inline-block;margin:20px 0;background:#9b482b;color:#fff;padding:15px 28px;border-radius:8px;text-decoration:none}.auth-button:hover{background:#79371f}.auth-note{font-size:12px}.back-link{color:#9b482b}.account-email{overflow-wrap:anywhere}@media(max-width:600px){nav .address{display:none}nav{gap:0}.auth-card{padding:35px 23px}}

.family-tool{display:block;border:1px solid #c7baaa;border-radius:12px;text-decoration:none;color:#302c26;padding:22px;text-align:left;margin:25px 0;background:#fffdf9}.family-tool strong{font-size:22px;display:block;margin-bottom:9px}.family-tool span{font-size:15px;line-height:1.7;color:#655d53;display:block}.family-tool:hover{border-color:#9b482b;background:#f1e5d6}
