:root{--forest:#183d2b;--sage:#a8b596;--pale:#e4e8d8;--cream:#f7f5eb;--clay:#b9663d}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--forest);font-family:'DM Sans',Arial,sans-serif;font-size:17px;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}header{max-width:1400px;margin:auto;padding:18px 5%;display:flex;align-items:center;gap:30px;background:var(--cream)}.brand{display:flex;align-items:center;gap:24px;letter-spacing:.18em;font-size:15px}.brand img{width:58px;height:58px}nav{display:flex;gap:30px;margin-left:auto}.button{display:inline-flex;align-items:center;justify-content:center;border-radius:40px;padding:14px 25px;background:var(--forest);color:var(--cream);font-size:16px;font-weight:600;border:1px solid var(--forest);transition:transform .25s,background .25s}.button:hover{transform:translateY(-3px);background:#28523d}.button.outline{background:transparent;color:var(--forest)}.small{padding:10px 22px}.menu{display:none;background:none;border:0;color:var(--forest);font-size:26px}.wrap{max-width:1240px;margin:auto;padding-left:35px;padding-right:35px}.hero{position:relative;display:grid;grid-template-columns:.9fr 1.15fr;max-width:1380px;margin:auto;padding:35px 5% 70px;gap:30px;align-items:center;overflow:hidden}.hero-copy{z-index:1}.eyebrow{font-size:14px;letter-spacing:.2em;font-weight:700;color:var(--clay);margin:0 0 20px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(3rem,5.8vw,5.4rem);line-height:1.02;letter-spacing:-.055em;margin-bottom:26px;font-weight:800}h2{font-size:clamp(2.4rem,4vw,3.7rem);letter-spacing:-.045em;line-height:1.1;margin-bottom:30px}h3{font-size:23px;line-height:1.3;letter-spacing:-.025em;margin-bottom:12px}.intro{font-size:21px;line-height:1.5;max-width:480px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}.location{font-size:14px;margin:22px 0 0;color:#62735e}.hero-art{position:relative;padding-bottom:35px}.portrait{width:100%;height:520px;object-fit:cover;object-position:48% center;border-radius:42px 42px 100px 42px;display:block}.pour-window{position:absolute;left:-20px;bottom:0;width:185px;height:245px;border:6px solid var(--cream);border-radius:32px;overflow:hidden;box-shadow:0 10px 35px #183d2b22;transform:rotate(-5deg)}.pour-window video{width:100%;height:100%;object-fit:cover}.pour-window span{position:absolute;bottom:10px;left:10px;color:white;font-size:13px;background:#183d2bdd;padding:3px 8px;border-radius:15px}.pour-window button{position:absolute;right:8px;top:8px;border:0;border-radius:50%;background:var(--cream);color:var(--forest);width:30px;height:30px}.handwritten{position:absolute;right:-10px;bottom:-5px;background:var(--cream);border-radius:40px 0 0 0;padding:15px 25px;font:32px/1.1 Caveat,cursive;transform:rotate(-6deg);color:#708661}.bean{position:absolute;width:70px;pointer-events:none;z-index:2;animation:float 7s ease-in-out infinite}.b1{left:0;top:20px;transform:rotate(25deg)}.b2{right:5px;top:80px;animation-delay:-2s}.b3{left:35%;bottom:10px;width:48px;animation-delay:-4s}@keyframes float{0%,100%{translate:0 0;rotate:-10deg}50%{translate:0 -20px;rotate:12deg}}.highlights{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.highlight{background:var(--pale);border-radius:28px;padding:28px;transition:transform .3s}.highlight:hover{transform:translateY(-5px)}.highlight p{margin:0;font-size:16px}.icon{width:42px;height:42px;margin-bottom:15px}.section{padding-top:95px;padding-bottom:95px}.about{display:grid;grid-template-columns:1fr 1.15fr;gap:80px}.large{font-size:24px;line-height:1.5}.tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:28px}.tags span,.pill{font-size:14px;background:var(--pale);border-radius:20px;padding:7px 13px;display:inline-block}.craft{background:var(--forest);color:var(--cream)}.craft .eyebrow{color:#dbaa80}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:30px}.section-heading p{max-width:350px}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.gallery-item{padding:0;background:none;border:0;color:inherit;text-align:left}.gallery-item img{width:100%;height:330px;object-fit:cover;border-radius:26px;transition:transform .4s}.gallery-item:hover img{transform:translateY(-6px)}.gallery-item span{display:block;padding:15px 0;font-size:14px}.craft-note{display:flex;align-items:center;gap:80px;margin-top:45px;padding-top:30px;border-top:1px solid #ffffff30}.craft-note p{max-width:600px;margin:0}.hand{font:38px Caveat,cursive;white-space:nowrap}.job{display:grid;grid-template-columns:1fr 1.2fr;gap:60px;padding:34px 0;border-top:1px solid #183d2b26}.job p{margin-bottom:10px}.job>div:first-child p{color:#5e705d;font-size:16px}.date{display:block;letter-spacing:.08em;font-size:13px;font-weight:600;margin-bottom:14px;color:#61715e}.pill{margin-bottom:18px}.education{background:var(--pale);position:relative}.education-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:80px}.edu-card{background:var(--cream);border-radius:24px;padding:25px 30px;margin-bottom:15px}.edu-card p{margin:0}.leaves{width:200px;opacity:.7;margin-top:25px}.contact{text-align:center}.contact h2{font-size:clamp(3rem,6vw,5.5rem)}.contact .actions{justify-content:center}.contact-details{display:flex;justify-content:center;gap:25px;flex-wrap:wrap;margin-top:40px;font-size:16px}footer{padding:25px 5%;border-top:1px solid #183d2b26;display:flex;justify-content:space-between;gap:20px;font-size:14px}footer button{background:none;border:0;text-decoration:underline;color:inherit;font-size:14px}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s,transform .7s}.reveal.visible{opacity:1;transform:none}dialog{border:0;border-radius:24px;padding:15px;background:var(--cream);max-width:90vw}dialog::backdrop{background:#10251ee0}dialog img{display:block;max-height:80vh;max-width:80vw}#closeLightbox{position:absolute;right:18px;top:18px;width:40px;height:40px;border:0;border-radius:50%;background:var(--cream);font-size:25px}.motion-paused *{animation-play-state:paused!important}.motion-paused .reveal{opacity:1;transform:none;transition:none}@media(max-width:1000px){header{gap:15px}nav{gap:16px}.brand{gap:10px;letter-spacing:.08em}.portrait{height:470px}.hero{gap:20px}.gallery{grid-template-columns:repeat(2,1fr)}.about,.education-grid{gap:35px}.craft-note{gap:30px}}@media(max-width:700px){header{padding:12px 5%;flex-wrap:wrap}.brand{font-size:13px}.brand img{width:42px;height:42px}header>.button{margin-left:auto;padding:8px 13px;font-size:13px}.menu{display:block}nav{display:none;width:100%;order:4;margin:0;padding:15px 0;justify-content:space-between}nav.open{display:flex}.hero{grid-template-columns:1fr;padding-top:30px;padding-bottom:45px;gap:35px}h1{font-size:3.8rem}.hero-copy{padding:0 10px}.intro{font-size:18px}.portrait{height:430px;border-radius:30px 30px 75px 30px}.pour-window{left:5px;width:150px;height:200px}.handwritten{right:0;font-size:27px}.bean{width:45px}.b1{top:10px}.b3{display:none}.wrap{padding-left:22px;padding-right:22px}.highlights{grid-template-columns:1fr;gap:12px}.highlight{display:grid;grid-template-columns:45px 1fr;column-gap:16px;padding:22px}.highlight .icon{grid-row:1/3;margin:0}.highlight h3{font-size:20px;margin:0 0 6px}.section{padding-top:65px;padding-bottom:65px}.about,.education-grid,.job{grid-template-columns:1fr;gap:20px}.section-heading{display:block}.gallery{gap:12px}.gallery-item img{height:235px}.craft-note{display:block}.craft-note .hand{display:block;margin-bottom:20px}.job{padding:28px 0}.edu-card{padding:24px}.leaves{display:none}.contact-details{flex-direction:column;gap:10px}footer{flex-direction:column;text-align:center;align-items:center}.actions .button{font-size:14px;padding:12px 20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

#emailDialog{width:460px;padding:35px;color:var(--forest)}#emailDialog h3{font-size:30px}#emailDialog label{display:block;font-size:14px;margin-bottom:8px}#emailAddress{width:100%;padding:13px;border:1px solid var(--sage);border-radius:12px;font:inherit;color:var(--forest);background:white}.email-actions{display:flex;flex-direction:column;gap:12px;margin-top:20px}.dialog-close{position:absolute;right:12px;top:8px;background:none;border:0;color:var(--forest);font-size:30px}#emailStatus{min-height:24px;margin:15px 0 0;font-size:14px}

.brand span{font-size:22px;font-weight:800;letter-spacing:.04em;line-height:1.1}.portrait{object-position:center}.milk-motion{position:absolute;top:0;left:0;width:100%;height:520px;pointer-events:none;border-radius:42px 42px 100px 42px;overflow:hidden}.milk-flow{stroke-dasharray:25 8;animation:pourFlow 1.25s linear infinite;opacity:.72}.milk-shimmer{stroke-dasharray:8 27;animation:pourFlow .9s linear infinite;opacity:.85}.milk-ripple{fill:none;stroke:#fff6dc;stroke-width:2;transform-box:fill-box;transform-origin:center;animation:pourRipple 1.8s ease-out infinite}.ripple-two{animation-delay:-.9s}@keyframes pourFlow{to{stroke-dashoffset:-132}}@keyframes pourRipple{0%{transform:scale(.4);opacity:0}20%{opacity:.65}100%{transform:scale(2.2);opacity:0}}@media(max-width:1000px){.milk-motion{height:470px}.brand span{font-size:19px}}@media(max-width:700px){.milk-motion{height:430px;border-radius:30px 30px 75px 30px}.brand span{font-size:18px;letter-spacing:.025em}.brand{gap:8px}}@media(prefers-reduced-motion:reduce){.milk-motion{display:none}}

@media(hover:hover) and (pointer:fine){body,body a,body button{cursor:url('assets/coffee-grounds-cursor.png') 24 24,auto}input{cursor:text}}.coffee-sprinkle{position:fixed;width:34px;height:34px;pointer-events:none;z-index:2147483647;object-fit:contain;will-change:transform,opacity}.motion-paused .coffee-sprinkle{display:none}@media(max-width:390px){header{gap:8px}.brand span{font-size:15px}.brand img{width:34px;height:34px}header>.button{padding:8px 10px;font-size:12px}.menu{font-size:23px}.hero-copy{padding:0}h1{font-size:3.25rem}.portrait,.milk-motion{height:390px}.gallery-item img{height:200px}}
