:root{color-scheme:light;--paper:#fffaf4;--ink:#321d18;--muted:#775d54;--accent:#863b29;--line:#dcc1b3;font-family:Arial,Helvetica,sans-serif;background:var(--paper);color:var(--ink);-webkit-text-size-adjust:100%;text-size-adjust:100%}
*{box-sizing:border-box}
body{margin:0;background:radial-gradient(circle at 8% 8%,#ffdbb14d,transparent 32%),linear-gradient(130deg,#fffaf4,#f3dfd0)}
a{color:inherit;text-underline-offset:.22em}
a:focus-visible{outline:3px solid var(--accent);outline-offset:5px}
a:hover{text-decoration-thickness:2px}
.skip-link{position:absolute;top:8px;left:12px;z-index:2;padding:14px;background:var(--ink);color:var(--paper);transform:translateY(-180%)}
.skip-link:focus{transform:none}
.masthead{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;padding:18px max(20px,calc((100vw - 1120px)/2));border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:12px;font-size:1.8rem;font-weight:800;text-decoration:none;min-height:44px}
.brand span{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase}
nav{display:flex;flex-wrap:wrap;gap:8px 20px}
nav a,footer a{display:inline-flex;align-items:center;min-height:44px}
main,footer{max-width:1120px;margin:auto;padding:0 28px}
.introduction{padding:clamp(36px,6vw,80px) 0 42px;max-width:830px}
.eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.17em;text-transform:uppercase;margin:0 0 20px}
h1,h2,strong{font-family:Georgia,'Times New Roman',serif;font-weight:400}
h1{font-size:clamp(3rem,8vw,6.8rem);line-height:.98;letter-spacing:-.055em;margin:0 0 22px}
.ampersand{color:var(--accent);font-style:italic}
.subtitle{display:block;font-family:Arial,Helvetica,sans-serif;font-size:1rem;letter-spacing:.22em;line-height:1.4;text-transform:uppercase;margin-top:20px}
.location{font-size:.85rem;letter-spacing:.08em;color:var(--muted)}
.lede{font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.4rem,3vw,2rem);line-height:1.25;margin:28px 0 18px}
p{font-size:1rem;line-height:1.65;max-width:65ch}
.primary{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:48px;padding:15px 20px;margin:12px 0;background:var(--ink);color:var(--paper);font-weight:700;text-decoration:none;max-width:100%;line-height:1.4}
.primary:hover{background:var(--accent)}
.primary:focus-visible{outline-offset:5px}
.disclosure,.note{font-size:.85rem;color:var(--muted);line-height:1.6}
.disclosure{max-width:58ch;margin-top:12px}
.portfolios{display:grid;grid-template-columns:1fr 1.3fr;gap:24px 50px;border-top:1px solid var(--line);padding:42px 0}
h2{font-size:clamp(1.9rem,4vw,3rem);line-height:1.1;margin:0 0 20px;letter-spacing:-.035em}
.portfolio-list a{display:grid;grid-template-columns:24px 1fr 18px;gap:16px;align-items:center;min-height:100px;padding:20px 0;border-bottom:1px solid var(--line);text-decoration:none}
.portfolio-list a:first-child{padding-top:0}
.portfolio-list a:hover strong{text-decoration:underline;text-underline-offset:.15em}
.number{font-size:.72rem;color:var(--muted);align-self:start;margin-top:8px}
.portfolio-list strong{display:block;font-size:1.6rem}
.description{display:block;margin-top:8px;line-height:1.5;font-size:.9rem;color:var(--muted)}
.portfolios>.note{grid-column:2;margin:0}
.contact{border-top:1px solid var(--line);padding:42px 0}
.email{display:flex;align-items:center;width:fit-content;max-width:100%;min-height:44px;overflow-wrap:anywhere;line-height:1.6}
footer{border-top:1px solid var(--line);font-size:.85rem;padding-top:20px;padding-bottom:max(28px,env(safe-area-inset-bottom))}
footer p{font-size:inherit;color:var(--muted)}
footer a{color:var(--ink)}
@media(max-width:700px){main,footer{padding-left:20px;padding-right:20px}.masthead{padding:12px 20px;gap:4px}nav{font-size:.85rem}.introduction{padding-top:32px}.portfolios{grid-template-columns:1fr;gap:8px;padding:32px 0}.portfolios>.note{grid-column:1}.contact{padding:32px 0}.primary{width:100%}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
