:root{--bg:#fbf7f2;--surface:#f1e6d8;--surface-2:#e8dacb;--ink:#2b241d;--ink-soft:#8b7f72;--accent:#c9a186;--accent-deep:#9c7b5e;--line:#2b241d1a;--radius:18px;--radius-sm:10px;--shadow:0 20px 60px #2b241d14;--maxw:1120px;--font-display:"Fraunces", "Iowan Old Style", serif;--font-body:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.55}img{max-width:100%;display:block}a{color:inherit}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-weight:600}.container{max-width:var(--maxw);margin:0 auto;padding:0 6vw}@media (width>=900px){.container{padding:0 4rem}}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--accent-deep);margin:0 0 14px;font-size:12px;font-weight:600}button,input,textarea,select{font-family:var(--font-body);font-size:15px}.btn{background:var(--ink);color:var(--bg);cursor:pointer;border:none;border-radius:100px;justify-content:center;align-items:center;gap:8px;padding:14px 28px;font-size:14px;font-weight:600;transition:transform .25s,background .25s;display:inline-flex}.btn:hover{background:var(--accent-deep);transform:translateY(-2px)}.btn:focus-visible{outline:2px solid var(--accent-deep);outline-offset:3px}header.nav{z-index:50;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);background:#fbf7f2d1;position:sticky;top:0}.nav-inner{justify-content:space-between;align-items:center;padding:18px 0;display:flex}.nav-mark{font-family:var(--font-display);font-size:19px;font-weight:600}.nav-links{color:var(--ink-soft);gap:28px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.nav-links a{text-decoration:none;transition:color .2s}.nav-links a:hover{color:var(--ink)}@media (width<=760px){.nav-links{display:none}}.hero{text-align:center;padding:96px 0 64px}.hero .eyebrow{justify-content:center;display:flex}.hero h1{margin-bottom:16px;font-size:clamp(44px,8vw,76px);line-height:1.02}.hero-sub{color:var(--ink-soft);margin:0;font-size:17px}.photo-sequence{flex-direction:column;gap:4px;display:flex}.photo-block{margin:0;position:relative}.photo-block-frame{background:var(--surface);justify-content:center;align-items:center;width:100%;display:flex;overflow:hidden}.photo-block-frame img{width:auto;max-width:100%;height:auto;max-height:92vh;transition:transform 1.2s cubic-bezier(.2,.8,.2,1);display:block}.photo-block:hover .photo-block-frame img{transform:scale(1.03)}.photo-block-frame.placeholder{min-height:320px;color:var(--ink-soft);text-align:center;justify-content:center;align-items:center;font-size:15px;display:flex}.photo-block figcaption{color:var(--ink-soft);align-items:baseline;gap:12px;padding:18px 6vw 36px;display:flex}@media (width>=900px){.photo-block figcaption{padding-left:4rem;padding-right:4rem}}.cap-index{font-family:var(--font-display);color:var(--accent-deep);font-size:14px}.cap-title{font-family:var(--font-display);color:var(--ink);font-size:20px;font-weight:500}section{padding:96px 0}#gallery{padding:0}section+section{border-top:1px solid var(--line)}.section-head{text-align:center;max-width:560px;margin:0 auto 48px}.section-head h2{font-size:clamp(28px,4vw,38px)}.section-head p{color:var(--ink-soft);margin-top:12px;font-size:15px}.about-wrap{text-align:center;max-width:680px}.about-wrap .eyebrow{justify-content:center;display:flex}.bio{font-family:var(--font-display);color:var(--ink);font-size:clamp(20px,3vw,28px);font-weight:500;line-height:1.5}.bio span{color:var(--accent-deep)}.compcard-box{text-align:center;background:var(--surface);border-radius:var(--radius);max-width:480px;margin:0 auto;padding:40px 32px}.compcard-box p{color:var(--ink-soft);margin:8px 0 24px;font-size:14px}.contact-wrap{max-width:460px;margin:0 auto}.field{text-align:left;margin-bottom:16px}.field label{color:var(--ink-soft);margin-bottom:6px;font-size:12px;display:block}.field input,.field select,.field textarea{border-radius:var(--radius-sm);border:1.5px solid var(--line);background:#fff;width:100%;padding:13px 14px}.field textarea{resize:vertical}.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:2px solid var(--accent-deep);outline-offset:1px}.contact-wrap .btn{width:100%;margin-top:4px}.form-note{color:var(--ink-soft);text-align:center;margin-top:14px;font-size:12px}footer{color:var(--ink-soft);padding:40px 0;font-size:13px}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.footer-inner a{color:var(--ink);font-weight:500;text-decoration:none}.footer-inner a:hover{color:var(--accent-deep)}.reveal{opacity:0;transition:opacity .8s,transform .8s cubic-bezier(.2,.8,.2,1);transform:translateY(24px)}.reveal.is-visible{opacity:1;transform:translateY(0)}.photo-block.reveal{transform:none}.photo-block.reveal .photo-block-frame{opacity:0;transition:opacity 1s}.photo-block.reveal.is-visible .photo-block-frame{opacity:1}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.photo-block.reveal .photo-block-frame{opacity:1;transition:none;transform:none}.photo-block-frame img{transition:none}}
