header.top{padding:22px 0;border-bottom:1px solid var(--line);position:relative}.top-inner{display:flex;align-items:center;justify-content:space-between}.brand{font-family:Iowan Old Style,Palatino,Georgia,serif;font-size:19px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);display:flex;align-items:baseline;gap:10px;text-decoration:none}.brand .mark{color:var(--blue);font-size:22px;letter-spacing:0}.top-right{display:flex;align-items:center;gap:28px}nav.top-nav{display:flex;gap:32px;font-size:13px;letter-spacing:.06em;text-transform:uppercase}.menu-toggle{display:none;width:32px;height:32px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--ink);align-items:center;justify-content:center;cursor:pointer}.menu-toggle svg{width:17px;height:17px}.mobile-nav{display:none}nav.top-nav a{color:var(--ink-soft);text-decoration:none;border-bottom:1px solid transparent;padding-bottom:3px}nav.top-nav a:hover{color:var(--blue);border-bottom-color:var(--blue)}.hero{padding:96px 0 88px;position:relative;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;grid-gap:64px;gap:64px;align-items:center}h1.hero-title{font-size:clamp(40px,5.4vw,66px);line-height:1.04;margin:0 0 26px;font-weight:400;letter-spacing:-.01em;text-wrap:balance;color:var(--ink)}h1.hero-title em{font-style:italic;color:var(--blue)}.hero-sub{font-size:18px;line-height:1.6;color:var(--ink-soft);max-width:46ch;margin:0 0 36px}.hero-cta{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.btn-ghost{color:var(--ink);border-bottom:1px solid var(--ink);padding-left:0;padding-right:0;border-radius:0}.door-scene{height:420px}.door-frame,.door-scene{position:relative;display:flex;align-items:flex-end;justify-content:center}.door-frame{width:78%;height:100%;background:linear-gradient(180deg,var(--surface),var(--plaster-2));border:1px solid var(--line);border-radius:130px 130px 6px 6px;box-shadow:0 30px 60px -30px rgba(14,58,92,.35);padding:14px}.door{width:82%;height:92%;background:linear-gradient(160deg,var(--blue) 0,var(--blue-deep) 100%);border-radius:110px 110px 4px 4px;position:relative;box-shadow:inset 0 0 0 6px hsla(43,64%,98%,.08)}.door:before{content:"";position:absolute;top:16%;bottom:10%;left:50%;width:2px;background:hsla(43,64%,98%,.22)}.knob{right:14%;top:52%;width:9px;height:9px;border-radius:50%;background:var(--bougainvillea-soft);box-shadow:0 0 0 3px hsla(43,64%,98%,.18)}.bougain,.knob{position:absolute}.bougain{top:-18px;left:8%;font-size:13px;color:var(--bougainvillea)}.pot{position:absolute;bottom:6px;right:6%;width:26px;height:30px}.pot .plant{bottom:20px;width:30px;height:34px;background:radial-gradient(circle at 30% 30%,#6f9e5a,#3f6e3a 70%);border-radius:60% 40% 55% 45%/55% 60% 40% 45%;opacity:.9}.pot .plant,.pot .vessel{position:absolute;left:50%;transform:translateX(-50%)}.pot .vessel{bottom:0;width:20px;height:20px;background:linear-gradient(160deg,#c3714a,#9a4f2c);border-radius:3px 3px 8px 8px}section.works{padding:90px 0 100px;border-top:1px solid var(--line)}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:52px}h2.section-title{font-family:Iowan Old Style,Palatino,Georgia,serif;font-size:30px;font-weight:400;margin:0;color:var(--ink)}.section-note{font-size:13px;color:var(--ink-soft);max-width:34ch;text-align:right;line-height:1.5}.works-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1px;gap:1px;background:var(--line);border:1px solid var(--line)}.work-card{background:var(--surface);padding:34px 30px 30px;display:flex;flex-direction:column;gap:14px;min-height:260px;text-decoration:none;color:inherit}.work-kind{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--blue)}.work-title{font-family:Iowan Old Style,Palatino,Georgia,serif;font-size:22px;line-height:1.25;margin:0;color:var(--ink)}.work-excerpt{font-size:14.5px;line-height:1.6;color:var(--ink-soft);flex:1 1}.work-meta{font-size:12px;color:var(--ink-soft);opacity:.75;display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:14px}.work-card:hover .work-title{color:var(--blue)}.empty-note{color:var(--ink-faint);font-size:14px;padding:40px 0;text-align:center}section.about{padding:90px 0;border-top:1px solid var(--line);background:var(--plaster-2)}.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;grid-gap:70px;gap:70px;align-items:center}.about-portrait{aspect-ratio:4/5;border-radius:4px;background:repeating-linear-gradient(135deg,transparent 0 18px,rgba(20,135,201,.08) 18px 19px),linear-gradient(160deg,var(--stone),var(--plaster));border:1px solid var(--line);position:relative;overflow:hidden}.about-portrait:after{content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:60%;height:82%;border-radius:120px 120px 0 0;background:linear-gradient(180deg,rgba(20,135,201,.16),rgba(20,135,201,.05))}.about-copy p{font-size:16.5px;line-height:1.75;color:var(--ink-soft);max-width:52ch}.about-copy p strong{color:var(--ink);font-weight:400;font-style:italic}section.letter{padding:100px 0;border-top:1px solid var(--line)}.letter-box{max-width:640px;margin:0 auto;text-align:center}.letter-box h2{font-family:Iowan Old Style,Palatino,Georgia,serif;font-size:28px;font-weight:400;margin:0 0 14px}.letter-box p{color:var(--ink-soft);font-size:15.5px;line-height:1.6;margin:0 0 34px}form.letter-form{display:flex;border-bottom:1.5px solid var(--ink);max-width:440px;margin:0 auto}form.letter-form input{flex:1 1;border:none;background:transparent;padding:12px 4px;font-size:14.5px;color:var(--ink)}form.letter-form input::placeholder{color:var(--ink-soft);opacity:.6}form.letter-form input:focus{outline:none}form.letter-form button{border:none;background:none;color:var(--blue);font-size:13px;letter-spacing:.06em;text-transform:uppercase;padding:12px 6px;cursor:pointer}form.letter-form button:hover{color:var(--bougainvillea)}.letter-note{margin-top:14px;font-size:13px;color:var(--good)}footer.site-foot{padding:34px 0 44px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--ink-soft)}footer.site-foot a{color:var(--ink-soft);text-decoration:none}.work-detail{padding:70px 0 100px}.work-detail .eyebrow{margin-bottom:10px}.work-detail h1{font-family:Iowan Old Style,Palatino,Georgia,serif;font-size:clamp(32px,4.4vw,48px);font-weight:400;margin:0 0 18px;text-wrap:balance}.work-detail .detail-meta{display:flex;gap:18px;font-size:13px;color:var(--ink-faint);margin-bottom:44px;padding-bottom:30px;border-bottom:1px solid var(--line)}.chapter-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:40px}.chapter-tabs a{font-size:12.5px;padding:7px 14px;border-radius:20px;border:1px solid var(--line);color:var(--ink-soft);text-decoration:none}.chapter-tabs a.active{background:var(--blue);border-color:var(--blue);color:#fff}.prose{font-family:Iowan Old Style,Palatino,Georgia,serif;font-size:18px;line-height:1.85;color:var(--ink);max-width:68ch}.prose p{margin:0 0 1.3em}.prose img,.prose video{max-width:100%;border-radius:6px;margin:1.6em 0;display:block}.prose-media{display:grid;grid-gap:16px;gap:16px;margin:30px 0;max-width:68ch}@media (max-width:900px){.works-grid{grid-template-columns:1fr 1fr}.about-grid{gap:40px}}@media (max-width:760px){.wrap{padding:0 20px}.hero{padding:56px 0 60px}.hero-grid{grid-template-columns:1fr;gap:40px}.hero-sub{max-width:none}.door-scene{height:240px;order:-1}.about-grid,.works-grid{grid-template-columns:1fr}.work-detail{padding:48px 0 70px}section.about,section.letter,section.works{padding-top:56px;padding-bottom:56px}.section-head{flex-direction:column;align-items:flex-start;margin-bottom:34px}.section-note{text-align:left}nav.top-nav{display:none}.menu-toggle,.mobile-nav.open{display:flex}}.mobile-nav{flex-direction:column;gap:2px;border-bottom:1px solid var(--line);background:var(--surface);position:absolute;top:100%;left:0;right:0;box-shadow:0 12px 24px -12px rgba(10,40,60,.25);z-index:30}.mobile-nav a{padding:16px 20px;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);text-decoration:none;border-top:1px solid var(--line)}.mobile-nav a:hover{color:var(--blue)}@media (max-width:480px){h1.hero-title{font-size:34px}.hero-cta{flex-direction:column;align-items:flex-start;gap:14px}.btn-primary{width:100%;justify-content:center}.brand{font-size:16px}footer.site-foot .wrap{flex-direction:column;gap:8px;text-align:center}}