*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fcf6e7;color:#10263a;font:17px/1.55 system-ui,sans-serif}header,section,footer{padding-inline:max(6%,calc((100vw - 1180px)/2))}header,footer{display:flex;align-items:center;justify-content:space-between;background:#0b2032;color:#fff8e7;padding-block:19px}header a{color:inherit;text-decoration:none}.brand{font:bold 24px/1 Georgia;letter-spacing:.03em}.brand small{display:block;font:700 10px/1.7 system-ui;letter-spacing:.34em}nav{display:flex;gap:24px;font-size:15px}nav a:hover{text-decoration:underline}.hero,.project,.story{display:grid;align-items:center;gap:clamp(24px,5vw,80px);padding-block:clamp(44px,6vw,96px)}.hero{grid-template-columns:1.15fr 1fr;background:radial-gradient(ellipse at 80% 50%,#edd8ab 0%,transparent 46%)}.hero img{width:100%;max-width:490px;justify-self:center}.tag{font:800 12px/1.5 system-ui;letter-spacing:.17em;color:#8e332b}h1,h2{font-family:Georgia,serif;line-height:1.03;margin:.3em 0;letter-spacing:-.045em}h1{font-size:clamp(48px,6.1vw,96px)}h1 i{color:#91342b}h2{font-size:clamp(34px,4vw,60px)}p{max-width:48ch}.button{display:inline-block;background:#a2362b;color:white;font:700 16px system-ui;padding:15px 22px;border:0;text-decoration:none;cursor:pointer;border-radius:3px}.story{background:#112e41;color:#fff5de;grid-template-columns:1fr 2fr}.story .tag{color:#e5ba85}.project{align-items:start;grid-template-columns:1fr 1fr}form{display:grid;gap:15px}label{font-weight:650}input,select,textarea{display:block;width:100%;background:#fffdf6;color:#10263a;border:1px solid #918e82;padding:12px;font:inherit;margin-top:5px;border-radius:3px}textarea{min-height:100px}small{font-size:13px}footer{font-size:13px;letter-spacing:.05em}:focus-visible{outline:3px solid #dc8129;outline-offset:4px}@media(max-width:700px){.hero,.story,.project{grid-template-columns:1fr}.hero img{max-width:325px}nav{gap:12px;font-size:13px}.brand{font-size:18px}footer{flex-wrap:wrap;gap:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.block{padding-block:clamp(44px,6vw,90px)}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:20px;margin-top:30px}.cards article,#feedback article{border-top:2px solid #c7a776;padding:12px 0}.cards img{width:100%;border-radius:4px}.project{background:#f2e9d6}form{padding:24px;background:#fffaf0;border:1px solid #d9cdb7;border-radius:8px}h3{font:700 24px Georgia;margin:.5em 0}.plain{display:inline-block;margin:12px}.light,footer a{color:#fff6df}.plain,.cards a{color:#86352b}li{margin:.6em 0}nav{flex-wrap:wrap}output{font-weight:bold}.button:disabled{opacity:.65}.cards p,#feedback p{white-space:pre-line;overflow-wrap:anywhere}@media(max-width:700px){header{align-items:start;gap:18px}nav{justify-content:end;gap:6px 15px}form{padding:17px}}
[hidden]{display:none!important}#office h2{margin-top:1.3em}#office article{background:#fffaf0;border:1px solid #ddcfb5;padding:18px;margin:12px 0;overflow-wrap:anywhere}#office article p{white-space:pre-wrap}#office button{padding:9px 14px;cursor:pointer}#office button+button{margin-left:8px}.office-nav{display:flex;flex-wrap:wrap;gap:15px;align-items:center}.office-nav a{color:#713024}#office article img{max-width:140px;max-height:100px}#login,#office form{max-width:680px}#notice{position:sticky;top:0;background:#fcf6e7}

/* Warm paper, walnut lettering, and painted garden green. */
:root{--walnut:#382d24;--pine:#304b40;--paper:#fff8ea;--clay:#97472d;--edge:#d9c9af}
body{color:var(--walnut);background:#fbf5e9}
header,footer{background:var(--pine);color:#fff7e8}
header{border-bottom:4px solid #c49160}
.hero{background:radial-gradient(ellipse at 75% 50%,#efdec1,transparent 52%),#fbf5e9}
.hero h1 i,.tag,.plain,.cards a{color:var(--clay)}
.hero img{filter:drop-shadow(0 12px 12px #72503120)}
.story{background:#40594a;color:#fff7e7}
.story .tag{color:#f8d7a9}
.project{background:#f3ead8}
.button{background:var(--clay);border-radius:24px;box-shadow:0 3px 0 #6d351b}
.button:hover{background:#813d28}
.cards article,#feedback article,#office article{padding:clamp(18px,3vw,32px);border:1px solid var(--edge);border-radius:14px;background:var(--paper);box-shadow:0 4px 14px #65482809}
form{border-radius:16px;border-color:var(--edge);box-shadow:0 7px 24px #6548280c}
input,select,textarea{border-radius:7px;color:var(--walnut)}
.owner main{max-width:1100px;margin:auto}
.owner .block{padding-inline:clamp(18px,5vw,70px)}
.owner .intro{font:20px/1.45 Georgia;color:#5c5547}
.owner h1{color:var(--pine)}
.owner #login{max-width:410px;border-top:4px solid #ac714c;padding:26px}
.owner #office .office-nav{padding:14px 18px;border-radius:12px;background:#e3e9db;margin-bottom:28px}
.owner .office-nav a{color:#234538;font-weight:650}
.owner #office button:not(.button){border:1px solid #a59d8d;border-radius:8px;background:#fffbf3;color:#382d24}
.owner #office h2{color:var(--pine)}
.owner #office .desk-panel{padding:clamp(16px,3vw,32px);border-radius:18px;border:1px solid var(--edge);background:#f3ecdf}
.owner #mailbox h2{margin:.3em 0}
.owner #mail-state{font-size:15px;color:#555342}
.owner #notice:not(:empty){padding:10px 16px;background:#ece1c5;border-radius:8px;z-index:1}
