@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--paper:#f6f4ee;--ink:#252b28;--muted:#69706b;--line:#d9dbd1;--green:#324a3e;--orange:#bd512f}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:15px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--orange);outline-offset:6px}.wrap{max-width:1280px;margin:auto;padding:0 60px}header{height:108px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font-size:20px;font-weight:600;letter-spacing:-.8px}.brand small{font-size:10px;letter-spacing:1px;margin-left:7px}nav{display:flex;gap:32px;font-size:13px}nav a:hover,.textlink:hover{color:var(--orange)}.hero{padding:85px 0 72px;display:grid;grid-template-columns:1.5fr 1fr;gap:50px;align-items:end}.eyebrow{text-transform:uppercase;font-size:10px;letter-spacing:2.2px;font-weight:600;display:flex;align-items:center;gap:10px}.dot{width:6px;height:6px;background:var(--orange);border-radius:50%;display:inline-block}h1,h2,h3,p{margin:0}h1,h2,.serif{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400}h1{font-size:clamp(60px,7.4vw,104px);line-height:1.02;letter-spacing:-3px;margin:28px 0 25px}h1 em{font-weight:400;color:var(--green)}.intro{max-width:340px;color:var(--muted);font-size:15px;padding-bottom:10px}.intro p{margin-bottom:28px}.textlink{font-size:13px;display:inline-flex;gap:35px;align-items:center;border-bottom:1px solid var(--ink);padding-bottom:6px}.sectionbar{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:25px 0 30px}.sectionbar h2{font-size:32px}.sectionbar span{font-size:11px;color:var(--muted)}.portfolio{display:grid;grid-template-columns:repeat(6,1fr);gap:25px}.card{grid-column:span 2}.card.wide{grid-column:span 3}.visual{height:285px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;transition:filter .3s}.card:hover .visual{filter:brightness(.96)}.visual img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.card:hover .visual img{transform:scale(1.025)}.number{position:absolute;top:20px;left:22px;font-size:10px;letter-spacing:1px;z-index:2;color:inherit}.vbooks{background:#d4bca6}.vbooks:before{content:'';position:absolute;inset:0;background:linear-gradient(130deg,#f3e2ca55,transparent 70%)}.vbooks img{width:130px;height:210px;object-fit:cover;transform:rotate(-9deg);box-shadow:12px 15px 17px #43342740}.card:hover .vbooks img{transform:rotate(-6deg)}.vphoto{color:white}.vphoto img{object-position:50% 50%}.vmiw{background:#e6b83d;color:#234333;flex-direction:column}.miw-word{font-size:42px;line-height:.95;font-weight:700;letter-spacing:-2px;text-align:center;transform:rotate(-5deg);text-shadow:2px 2px #ffffff50}.miw-word small{display:block;font-size:20px;letter-spacing:-.4px;margin-bottom:7px}.vmiw .mini{font-size:9px;letter-spacing:2.5px;margin-top:24px}.cardbody{padding:19px 0 29px}.type{font-size:9px;letter-spacing:1.7px;text-transform:uppercase;color:var(--muted);margin-bottom:7px}.card h3{font-size:18px;font-weight:500;letter-spacing:-.5px;display:flex;justify-content:space-between;gap:10px;align-items:center}.arrow{font-size:20px;font-weight:400}.card p{font-size:13px;color:var(--muted);margin-top:8px;max-width:340px}.vfield{background:#dce4d7;color:#324a3e}.field-art{position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 39px,#324a3e12 40px),repeating-linear-gradient(90deg,transparent,transparent 39px,#324a3e12 40px)}.field-art:before,.field-art:after{content:'';position:absolute;width:340px;height:240px;border:1px solid #849a7b;border-radius:47% 61% 40% 67%;transform:rotate(-25deg);left:-90px;top:40px;box-shadow:0 0 0 19px #dce4d7,0 0 0 20px #849a7b55,0 0 0 39px #dce4d7,0 0 0 40px #849a7b44,0 0 0 59px #dce4d7,0 0 0 60px #849a7b33}.field-art:after{left:auto;right:-140px;top:-120px;transform:rotate(40deg)}.appword{z-index:1;display:flex;align-items:center;gap:14px;font-family:'Libre Caslon Display',Georgia,serif;font-size:52px;letter-spacing:-1.5px}.appicon{height:53px;width:53px;border-radius:13px;background:#324a3e;color:#e1e7dc;display:flex;align-items:center;justify-content:center;font-family:Georgia;font-size:35px}.status{position:absolute;bottom:18px;right:20px;text-transform:uppercase;letter-spacing:1.4px;font-size:8px}.vsing{background:#e5dff0;color:#493d63}.singicon{background:#796497;color:#f7f1ff}.vsing:before,.vsing:after{content:'';position:absolute;width:260px;height:260px;border:1px solid #b6a5ca66;border-radius:50%;left:-160px;box-shadow:0 0 0 22px #e5dff0,0 0 0 23px #b6a5ca44,0 0 0 47px #e5dff0,0 0 0 48px #b6a5ca44,0 0 0 71px #e5dff0,0 0 0 72px #b6a5ca33}.vsing:after{left:auto;right:-160px;top:-110px}.about{margin-top:40px;border-top:1px solid var(--line);padding:65px 0 75px;display:grid;grid-template-columns:1fr 2fr;gap:55px}.about h2{font-size:47px;letter-spacing:-1px;line-height:1.13;max-width:600px}.about p{max-width:580px;color:var(--muted);margin-top:25px;font-size:14px}.contact{background:var(--green);color:var(--paper);padding:52px;display:flex;justify-content:space-between;align-items:center;gap:35px}.contact h2{font-size:40px;line-height:1.1;margin-top:12px}.contact p{font-size:13px;color:#c1cbbf;margin-top:12px}.button{display:inline-flex;align-items:center;gap:45px;border:1px solid #c3cfbf75;padding:14px 22px;font-size:12px}.button:hover{background:#ffffff12}footer{display:flex;justify-content:space-between;gap:20px;padding:35px 0;font-size:10px;color:var(--muted)}.footlinks{display:flex;gap:24px}.detail{max-width:850px;padding:65px 0 90px;margin:auto}.detail h1{font-size:85px;margin-bottom:28px}.detail .visual{height:340px;margin:40px 0}.detail h2{font-size:35px;margin:35px 0 16px}.detail p{max-width:650px;margin-bottom:18px;color:var(--muted)}.detail .button{border-color:var(--line);margin-top:12px}.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}.chips span{border:1px solid var(--line);padding:8px 14px;font-size:11px}.legal{font-size:14px}.legal h1{font-size:62px}.back{font-size:12px;color:var(--muted)}.skip{position:absolute;top:-100px;left:10px;background:var(--paper);padding:12px;z-index:20}.skip:focus{top:10px}@media(min-width:1500px){.wrap{max-width:1420px}.hero{padding-top:100px}.visual{height:310px}}@media(max-width:800px){.wrap{padding:0 25px}header{height:85px}.hero{grid-template-columns:1fr;gap:20px;padding:50px 0}.intro{max-width:470px}.intro p{margin-bottom:20px}h1{font-size:75px}.portfolio{grid-template-columns:1fr 1fr;gap:20px}.card,.card.wide{grid-column:span 1}.card:last-child{grid-column:1/-1}.visual{height:245px}.appword{font-size:37px}.appicon{height:42px;width:42px}.about{grid-template-columns:1fr;gap:20px}.contact{padding:35px;align-items:start;flex-direction:column}.detail h1{font-size:65px}nav{gap:22px}}@media(max-width:520px){nav{gap:17px;font-size:11px}.brand{font-size:17px}.brand small{font-size:8px;margin-left:3px}h1{font-size:65px;letter-spacing:-2px}.portfolio{grid-template-columns:1fr}.card,.card.wide,.card:last-child{grid-column:auto}.visual{height:290px}.sectionbar span{max-width:120px;text-align:right}.about h2{font-size:39px}.contact h2{font-size:35px}footer{flex-direction:column;gap:15px}.detail .visual{height:270px}.detail h1{font-size:59px}.appword{font-size:45px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}.vmiw img.miw-logo{width:80%;height:auto;object-fit:contain;max-height:220px}.card:hover .vmiw img.miw-logo{transform:none}.vmiw{background:#e9eadf}
/* Personal collection — forest, ink, copper, and photographic light. */
:root{--paper:#111a18;--ink:#ebe8dd;--muted:#a5aea7;--line:#35413b;--green:#c6cbb9;--orange:#dc9470}body{background:var(--paper)}.wrap{max-width:1440px;padding:0 65px}header{height:105px}.brand{font-size:23px;letter-spacing:-1px}.brand small{color:var(--orange)}nav{font-size:12px;gap:35px}.eyebrow{font-size:9px;letter-spacing:2px;color:#c0c7bb}.dot{background:var(--orange)}.personal-hero{display:grid;grid-template-columns:1.05fr 1fr;min-height:650px;gap:15px;position:relative;border-bottom:1px solid var(--line);padding-bottom:48px}.hero-copy{padding:70px 0 0;position:relative;z-index:2}.hero-copy h1{font-size:clamp(65px,7.5vw,110px);letter-spacing:-2.5px;line-height:.99;margin:41px -60px 33px 0}.hero-copy h1 em{color:var(--orange)}.personal-intro{max-width:340px;font-size:17px;line-height:1.65;color:#d5d9cd}.hero-sub{color:var(--muted);font-size:13px;margin-top:12px}.copper-button{display:inline-flex;align-items:center;justify-content:space-between;gap:55px;background:var(--orange);color:#18211b;padding:16px 23px;font-size:12px;font-weight:600;margin-top:31px;transition:background .2s}.copper-button:hover{background:#edb094}.hero-index{font-family:monospace;font-size:9px;letter-spacing:1px;text-transform:uppercase;color:#8f9d91;margin-top:44px}.hero-portrait{margin:32px 0 0;position:relative;min-height:570px;overflow:hidden}.hero-portrait:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#111a18e8,transparent 45%),linear-gradient(90deg,#111a1840,transparent 50%);pointer-events:none}.hero-portrait img{width:100%;height:100%;object-fit:cover;position:absolute;object-position:44% center;filter:saturate(.6) brightness(.83)}.hero-portrait figcaption{position:absolute;bottom:20px;left:25px;right:25px;display:flex;justify-content:space-between;gap:12px;font-size:9px;color:#dddccf;z-index:2}.portrait-tag{position:absolute;right:20px;top:20px;z-index:2;font-size:8px;letter-spacing:2px;text-transform:uppercase;writing-mode:vertical-rl;color:#f3f0e4}.work{padding-top:65px}.work-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:40px;gap:40px}.work h2,.apps-heading h2{font-size:54px;line-height:1.07;letter-spacing:-1px;margin-top:20px}.work-heading>p{color:var(--muted);font-size:13px;line-height:1.8;padding-bottom:4px}.creative-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.project{border:1px solid var(--line);display:block;overflow:hidden;background:#18221f}.project-top{display:flex;justify-content:space-between;gap:20px;text-transform:uppercase;font-size:9px;letter-spacing:1.4px;color:#b6c0b5}.project>.project-top{padding:23px 27px}.book-stage{position:relative;height:310px;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 40% 60%,#493b2f,transparent 65%)}.book-stage img{height:247px;transform:rotate(-9deg);box-shadow:18px 21px 30px #0008;transition:transform .4s}.project:hover .book-stage img{transform:rotate(-5deg) translateY(-5px)}.book-note{font-family:'Libre Caslon Display',Georgia,serif;font-style:italic;color:#b1a18c;font-size:26px;line-height:1.15;position:absolute;left:29px;bottom:20px}.book-stage img{margin-left:55px}.project-description{padding:27px}.project h3{font-size:25px;letter-spacing:-.7px;font-weight:500}.project p{max-width:390px;color:var(--muted);font-size:13px;margin:12px 0 25px;min-height:42px}.project-link{font-size:11px;display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:17px}.project-link b{font-size:16px;font-weight:400}.nature{background:#243a2e}.nature .project-top{color:#cad5be}.miw-stage{height:310px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;position:relative;background:radial-gradient(ellipse at 60% 50%,#455936,transparent 65%);overflow:hidden}.miw-stage>img{width:75%;max-width:355px;height:auto;position:relative;z-index:2;box-shadow:0 8px 35px #0002}.miw-stage>span{font-family:'Libre Caslon Display',Georgia,serif;font-size:32px;z-index:1;color:#eee3be}.nature-specimen{position:absolute;width:210px;height:180px;bottom:-25px;right:-20px;color:#b4bd8066;transform:rotate(-20deg)}.photography-feature{margin-top:27px;display:grid;grid-template-columns:1.1fr 1fr;background:#1c2722;border:1px solid var(--line)}.photo-strip{height:355px;overflow:hidden;position:relative}.photo-strip img{width:100%;height:100%;object-fit:cover;object-position:50% 38%;filter:grayscale(.65) brightness(.85);transition:filter .5s,transform .6s}.photography-feature:hover img{filter:grayscale(0);transform:scale(1.025)}.photo-copy{padding:30px 36px}.photo-copy h3{font-family:'Libre Caslon Display',Georgia,serif;font-size:51px;font-weight:400;line-height:1.05;letter-spacing:-.5px;margin:33px 0 18px}.photo-copy h3 em{color:#c1c9ac}.photo-copy p{color:var(--muted);font-size:13px;margin:0 0 25px;max-width:320px}.apps-heading{margin:65px 0 30px}.apps-heading h2{font-size:43px}.app-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.app-project{padding:27px;position:relative;overflow:hidden;border:1px solid var(--line);background:#1d3027}.app-project:before{content:'';position:absolute;right:-100px;top:-140px;width:370px;height:370px;border:1px solid #73977a33;border-radius:45%;box-shadow:0 0 0 25px #1d3027,0 0 0 26px #73977a22,0 0 0 55px #1d3027,0 0 0 56px #73977a22;transform:rotate(-30deg);pointer-events:none}.app-project>*{position:relative}.app-identity{display:flex;gap:16px;align-items:center;margin:37px 0 22px}.new-app-icon{background:#bdc9a8;color:#293b2c;font-family:Georgia,serif;font-size:40px;line-height:1;width:60px;height:60px;border-radius:13px;display:grid;place-items:center}.app-identity h3{font-family:'Libre Caslon Display',Georgia,serif;font-size:44px;font-weight:400;letter-spacing:-1px}.app-project p{max-width:380px;color:#b6c4b4;font-size:13px;min-height:64px}.app-bottom{display:flex;justify-content:space-between;gap:15px;font-size:10px;padding-top:24px;border-top:1px solid #52614f;margin-top:22px;align-items:center}.app-state{color:#b5c29d;font-size:8px;letter-spacing:1px;text-transform:uppercase}.sing{background:#2b2632}.sing:before{border-color:#b198bd33;box-shadow:0 0 0 25px #2b2632,0 0 0 26px #b198bd22,0 0 0 55px #2b2632,0 0 0 56px #b198bd22;border-radius:50%}.sing .new-app-icon{background:#c5b3cc;color:#3a2c43}.sing p{color:#c3b6ca}.sing .app-bottom{border-color:#514558}.sing .app-state{color:#beadca}.personal-about{border-top:1px solid var(--line);margin-top:75px;padding:70px 0;display:grid;grid-template-columns:1fr 1.45fr;gap:70px}.personal-about h2{font-size:61px;letter-spacing:-1px;line-height:1.05;margin-bottom:28px}.personal-about h2 em{color:var(--orange)}.personal-about p{max-width:520px;font-size:14px;color:var(--muted);margin-top:18px;line-height:1.8}.initials{font-family:'Libre Caslon Display',Georgia,serif;font-size:110px;line-height:1.3;color:#778673;letter-spacing:-8px;margin-top:25px}.initials span{font-size:30px;color:var(--orange);vertical-align:top;letter-spacing:0;margin-left:15px}.personal-contact{padding:45px 0 55px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:30px;align-items:center}.personal-contact h2{font-size:48px;letter-spacing:-1px;margin-top:12px}.personal-contact .copper-button{margin:0}footer{padding:30px 0 35px}.detail{max-width:900px}.detail h1 em{color:var(--orange)}.detail .vfield{background:#233c2e;color:#e3e9d8}.detail .field-art{opacity:.23}.detail .vsing{background:#342d40;color:#ead9f0}.detail .vsing:before,.detail .vsing:after{opacity:.15}.detail .visual .status{color:inherit}.detail .appicon{background:#b5c39e;color:#203b2b}.detail .singicon{background:#bdacc9;color:#3a2c43}.detail .button:hover{background:#ffffff0a}.skip{color:var(--ink)}
@media(min-width:1500px){.wrap{max-width:1500px}.personal-hero{min-height:700px}.hero-copy h1{font-size:120px}.hero-portrait{min-height:620px}}
@media(max-width:1000px){.wrap{padding:0 35px}.hero-copy h1{font-size:80px}.personal-hero{min-height:610px}.hero-portrait{min-height:520px}.hero-copy{padding-top:60px}.hero-portrait figcaption span:last-child{display:none}.photo-copy h3{font-size:44px}.book-note{font-size:22px;left:20px}.app-identity h3{font-size:38px}.work h2{font-size:46px}}
@media(max-width:700px){.wrap{padding:0 23px}header{height:87px}.brand{font-size:21px}nav{gap:18px;font-size:10px}.personal-hero{grid-template-columns:1fr;gap:30px;padding-bottom:30px}.hero-copy{padding-top:43px}.hero-copy h1{font-size:77px;margin:30px 0 24px}.personal-intro{font-size:16px;max-width:350px}.hero-index{margin-top:30px}.hero-portrait{margin:0;min-height:340px}.hero-portrait img{object-position:50% 42%}.work{padding-top:43px}.work-heading{display:block;margin-bottom:29px}.work h2{font-size:45px}.work-heading>p{margin-top:22px;line-height:1.6}.creative-grid,.app-grid{grid-template-columns:1fr}.book-stage{height:295px}.book-note{left:30px;font-size:27px}.photography-feature{grid-template-columns:1fr}.photo-strip{height:260px}.photo-copy{padding:26px}.photo-copy h3{font-size:50px;margin-top:25px}.apps-heading{margin-top:45px}.apps-heading h2{font-size:37px}.personal-about{grid-template-columns:1fr;gap:23px;margin-top:50px;padding:45px 0}.initials{font-size:75px;margin-top:10px}.personal-about h2{font-size:49px}.personal-contact{display:block;padding:35px 0}.personal-contact h2{font-size:40px;line-height:1.1}.personal-contact .copper-button{margin-top:25px}.hero-portrait figcaption{font-size:8px;left:16px;right:16px}.app-identity h3{font-size:43px}.app-project{padding:25px}.app-project p{min-height:0}.app-bottom{font-size:9px}.app-state{font-size:7px}.detail h1{font-size:57px}.detail .appword{font-size:43px}}
/* Give the full MIW wordmark clear space on a warm, light brand panel. */
.nature .miw-stage{background:#e9e8d9;padding:38px 30px;gap:28px;isolation:isolate}
.nature .miw-stage>img{display:block;width:100%;max-width:430px;height:auto;max-height:none;object-fit:contain;box-shadow:none;mix-blend-mode:multiply;flex-shrink:0}
.nature .miw-stage>span{color:#344c39;font-size:30px;text-align:center;line-height:1.15}
.nature .nature-specimen{color:#61795433;z-index:0}
@media(max-width:700px){.nature .miw-stage{padding:38px 25px;gap:25px}.nature .miw-stage>span{font-size:27px}}

/* Show the photograph itself within the source print presentation. */
.photo-strip img{position:absolute;left:-35%;top:0;width:170%;height:auto;max-width:none;object-fit:initial;object-position:initial;filter:none;transform:translateY(-15%)}
.photography-feature:hover .photo-strip img{filter:none;transform:translateY(-15%) scale(1.025)}

.sing-detail .sing-lead{font-size:18px;line-height:1.7;max-width:680px;color:#d8d5dd}.christmas-announcement{padding:30px 32px 16px;background:#24382d;border:1px solid #4e6151;margin:35px 0 42px}.christmas-announcement h2{margin-top:13px;color:#e5c5a5}.sing-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:32px 0 45px}.sing-steps>div{border-top:1px solid var(--line);padding-top:17px}.sing-steps>div>span{font-size:9px;letter-spacing:1.5px;color:#bdacc9;text-transform:uppercase}.sing-steps h3{font-size:17px;font-weight:500;margin:15px 0 9px}.sing-steps p{font-size:12px}.hero-index{line-height:1.8}@media(max-width:700px){.sing-steps{grid-template-columns:1fr;gap:12px}.christmas-announcement{padding:24px 23px 12px}.sing-detail .visual .status{font-size:7px;letter-spacing:1px;right:13px}.sing-detail .sing-lead{font-size:16px}}
