@import url('https://fonts.googleapis.com/css2?family=Nunito:ital,wght@0,200;0,300;0,400;0,500;1,200;1,300&family=Cormorant+Garamond:ital,wght@1,500;1,600&display=swap');

/* Core design system copied/adapted from ameliaeckard.com */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
:root {
    --black:#1f1f1f; --white:#f8f8f8; --gray:#666666; --gray-light:#eeeeee; --gray-border:#dddddd; --accent:#2d2d2d;
    --rose-wash:#eeeeee; --rose-line:#555555; --sage-wash:#e6e6e6; --sage-line:#777777; --sky-wash:#f2f2f2; --sky-line:#888888;
    --neu-shadow:-6px -6px 14px #ffffff,6px 6px 14px rgba(0,0,0,.10);
    --neu-shadow-sm:-3px -3px 8px #ffffff,3px 3px 8px rgba(0,0,0,.09);
    --neu-inset:inset -3px -3px 7px #ffffff,inset 3px 3px 7px rgba(0,0,0,.10);
    --font:'Nunito',"Helvetica Neue",Helvetica,Arial,sans-serif; --font-mono:'Consolas',monospace; --ease:all .3s ease;
}
html { scroll-behavior:smooth; height:100%; }
body { font-family:var(--font); font-weight:200; font-size:16px; line-height:1.65; color:var(--black); background:#f8f8f8; overflow-x:hidden; min-height:100%; display:flex; flex-direction:column; }
main { flex:1 0 auto; }
a { color:inherit; text-decoration:none; }
h1,h2,h3,h4 { font-weight:200; line-height:1.2; }
h1 { font-size:clamp(2.5rem,5vw,3.5rem); }
h2 { font-size:clamp(1.75rem,3vw,2.5rem); margin-bottom:1.5rem; }
h3 { font-size:.7rem; font-weight:400; text-transform:uppercase; letter-spacing:2.5px; color:var(--gray); }
h4 { font-size:1.2rem; font-weight:200; margin-bottom:.75rem; }
.container { max-width:68rem; margin:0 auto; padding:0 3rem; }
.header { position:sticky; top:0; background:rgba(248,248,248,.72); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); box-shadow:0 2px 20px rgba(0,0,0,.06); z-index:1000; transition:var(--ease); }
.nav { display:flex; justify-content:space-between; align-items:center; padding:1.75rem 0; }
.nav nav { display:flex; align-items:center; gap:2.5rem; }
.header nav>a { font-size:.75rem; font-weight:400; letter-spacing:1.5px; text-transform:uppercase; color:var(--gray); transition:var(--ease); }
.header nav>a:hover { color:var(--black); }
.logo { display:flex; align-items:center; }
.logo-img { height:38px; width:auto; }
.hero { padding:8rem 0 4rem; text-align:center; opacity:0; animation:fadeIn 1s ease forwards; }
.hero-title { font-size:clamp(2.5rem,6vw,4rem); font-weight:200; margin-bottom:1rem; letter-spacing:-.5px; }
.hero-subtitle { font-size:1.125rem; font-weight:300; color:var(--gray); margin-bottom:2rem; }
.hero-meta { display:flex; justify-content:center; gap:2rem; font-size:.75rem; font-weight:400; color:var(--gray); text-transform:uppercase; letter-spacing:1.5px; }
.hero-doc { text-align:left; }
.hero-doc .hero-meta { justify-content:flex-start; }
.section { padding:6rem 0; background:#f8f8f8; opacity:0; transform:translateY(30px); animation:slideUp .8s ease forwards; }
.section-grid { display:flex; flex-wrap:wrap; gap:4rem; }
.section-grid>:first-child { flex:0 0 200px; }
.section-grid>:last-child { flex:1 1 0%; min-width:0; }
.section-content { max-width:100%; }
.section-title { font-weight:200; margin-bottom:2rem; }
.section-text { font-size:1.0625rem; font-weight:300; line-height:1.85; color:var(--black); margin-bottom:1.5rem; }
.button { display:inline-block; padding:10px 28px; border-radius:12px; background:#f8f8f8; font-size:.9375rem; font-family:var(--font); font-weight:300; border:none; cursor:pointer; box-shadow:var(--neu-shadow); transition:box-shadow .15s ease,background-color .15s ease; text-decoration:none; color:var(--black); }
.button:hover { background:#f1f1f1; box-shadow:-8px -8px 18px #fff,8px 8px 18px rgba(0,0,0,.12); }
.button:active { box-shadow:var(--neu-inset); }
.btn-small { padding:6px 16px; font-size:.8125rem; box-shadow:var(--neu-shadow-sm); }
.footer { flex-shrink:0; padding:3.5rem 0; background:#f8f8f8; margin-top:auto; }
.footer-content { display:flex; justify-content:space-between; align-items:center; }
.footer-links { display:flex; gap:2rem; }
.footer-links a { font-size:.8125rem; font-weight:300; color:var(--gray); transition:var(--ease); }
.footer-links a:hover { color:var(--black); }
@keyframes fadeIn { from { opacity:0; } to { opacity:1; } }
@keyframes slideUp { from { opacity:0; transform:translateY(30px); } to { opacity:1; transform:translateY(0); } }
@media (max-width:768px) {
    .section-grid { flex-direction:column; gap:2rem; }
    .section-grid>:first-child { flex:0 0 auto; }
    .nav { width:100%; max-width:100%; padding:.9rem 1rem; flex-direction:column; align-items:center; justify-content:center; gap:.7rem; }
    .nav nav { width:100%; flex-wrap:wrap; justify-content:center; gap:.45rem 1rem; }
    .header nav>a { font-size:.68rem; letter-spacing:.8px; white-space:nowrap; }
    .logo-img { height:32px; }
    .footer-content { flex-direction:column; gap:1.5rem; text-align:center; }
}
@media (max-width:480px) { .container { padding:0 1.5rem; } .section { padding:3rem 0; } .hero { padding-top:6rem; } }
