@import url('https://fonts.googleapis.com/css2?family=Arvo:wght@400;700&display=swap');
.smoller { --paper:light-dark(#f8f6fa,#211f25); --ink:light-dark(#302d35,#eee9f1); --muted:light-dark(#67616f,#b5acbc); --line:light-dark(#dcd6e2,#48404e); --accent:light-dark(#684e84,#c7a9e6); box-sizing:border-box; background:var(--paper); color:var(--ink); font-family:Arial,Helvetica,sans-serif; padding:48px clamp(24px,6vw,76px) 56px; font-size:17px; line-height:1.65; }
.smoller * { box-sizing:border-box; }
.smoller .page { max-width:1040px; margin:auto; }
.smoller a { color:inherit; text-underline-offset:5px; text-decoration-thickness:1px; }
.smoller a:hover { color:var(--accent); }
.smoller a:focus-visible,.smoller summary:focus-visible { outline:2px solid var(--accent); outline-offset:5px; }
.smoller .masthead { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:24px; padding-bottom:24px; border-bottom:1px solid var(--line); }
.smoller .wordmark { font-family:Arvo,Georgia,serif; font-size:20px; font-weight:700; letter-spacing:-.5px; text-decoration:none; }
.smoller nav { display:flex; gap:25px; font-size:13px; }
.smoller nav a { text-decoration:none; }
.smoller .hero { max-width:740px; padding:64px 0 54px; }
.smoller .eyebrow { color:var(--muted); font-size:12px; letter-spacing:.09em; text-transform:uppercase; margin:0 0 22px; }
.smoller h1 { font-family:Arvo,Georgia,serif; font-size:clamp(30px,4.3vw,46px); line-height:1.23; letter-spacing:-1.6px; font-weight:400; margin:0 0 30px; max-width:700px; }
.smoller p { margin:0 0 20px; }
.smoller .intro { max-width:660px; font-size:19px; line-height:1.7; }
.smoller .intro-detail { color:var(--muted); max-width:660px; }
.smoller .contact-line { font-size:14px; margin:26px 0 0; }
.smoller .contact-line a { color:var(--accent); }
.smoller .section-heading { border-top:1px solid var(--line); padding-top:20px; display:flex; justify-content:space-between; align-items:baseline; gap:24px; margin-bottom:32px; }
.smoller h2 { font-size:12px; letter-spacing:.09em; text-transform:uppercase; font-weight:400; margin:0; }
.smoller .section-heading span { color:var(--muted); font-size:12px; }
.smoller .project { display:grid; grid-template-columns:1.18fr 1fr; gap:40px; align-items:start; padding:0 0 42px; margin:0 0 40px; border-bottom:1px solid var(--line); }
.smoller .project-image { display:block; background:light-dark(#ece8ef,#343039); padding:20px; }
.smoller .project img { display:block; width:100%; height:auto; }
.smoller .project h3 { font-family:Arvo,Georgia,serif; font-size:23px; line-height:1.35; letter-spacing:-.5px; font-weight:400; margin:0 0 16px; }
.smoller .project p { font-size:15px; line-height:1.75; color:var(--muted); }
.smoller .project .visit { font-size:13px; }
.smoller .about { max-width:730px; padding:0 0 36px; }
.smoller .about h3 { font-family:Arvo,Georgia,serif; font-weight:400; font-size:28px; line-height:1.4; margin:24px 0; }
.smoller .about p { color:var(--muted); }
.smoller .quote { max-width:730px; margin:0 0 32px; }
.smoller .quote p { font-family:Georgia,serif; font-size:22px; line-height:1.65; }
.smoller .quote cite { font-size:13px; font-style:normal; color:var(--muted); }
.smoller details { border-top:1px solid var(--line); padding:18px 0; }
.smoller summary { cursor:pointer; font-size:14px; }
.smoller details .details-content { padding:24px 0 4px; }
.smoller .archive-item { max-width:730px; margin:0 0 24px; font-size:15px; color:var(--muted); }
.smoller .archive-item b { display:block; color:var(--ink); font-weight:400; font-size:18px; }
.smoller footer { margin-top:0; border-top:1px solid var(--line); padding-top:30px; }
.smoller footer p { font-family:Arvo,Georgia,serif; font-size:28px; margin-bottom:12px; }
.smoller footer .email { font-size:20px; color:var(--accent); }
.smoller .footer-meta { display:flex; justify-content:space-between; font-size:12px; color:var(--muted); margin-top:50px; }
@media(max-width:620px) {
 .smoller { padding:30px 24px 36px; }
 .smoller nav { gap:17px; font-size:12px; }
 .smoller .wordmark { font-size:18px; }
 .smoller .hero { padding:44px 0 38px; }
 .smoller .intro { font-size:18px; }
 .smoller .intro-detail { font-size:16px; }
 .smoller .project { grid-template-columns:1fr; gap:24px; }
 .smoller .project-image { padding:16px; }
 .smoller .section-heading { gap:12px; }
 .smoller .section-heading span { font-size:11px; }
 .smoller .footer-meta { flex-wrap:wrap; gap:10px; }
}
html { color-scheme:light; }
body { margin:0; background:#f8f6fa; }

/* Smooth section navigation, with reduced-motion support. */
html { scroll-behavior:smooth; }
.smoller [id] { scroll-margin-top:24px; }
@media (prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; }
}

/* Archive titles already occupy their own line. */
.smoller .archive-item b + br { display:none; }
