@font-face{font-family:Mori;src:url('assets/ppmori-regular.otf');font-display:swap}
@font-face{font-family:Mori;src:url('assets/ppmori-semibold.otf');font-weight:600;font-display:swap}
:root{--paper:#faf9f4;--ink:#283d30;--blue:#2b503c;--muted:#626b60;--line:#d3d9cf;--section-space:48px;--content-edge:max(7vw,calc((100vw - 1280px)/2))}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.6 Mori,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}button,summary{font:inherit}button{color:inherit}a:hover{text-decoration-thickness:2px}a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--blue);outline-offset:3px}h1,h2,h3,h4,p,figure{margin:0}p+p{margin-top:20px}h3,h4{font-weight:600;line-height:1.4}h3{font-size:16px}h4{font-size:14px}img{display:block;max-width:100%}.section-wrap{width:min(1280px,86%);margin-inline:auto}.section-title{font-size:13px;font-weight:600;line-height:1.5;text-transform:uppercase;letter-spacing:.09em}.skip{position:fixed;top:-100px;left:10px;background:var(--paper);padding:12px;z-index:10}.skip:focus{top:10px}
/* Opening: artwork unchanged, navigation occupies clear space. */
.masthead{position:absolute;top:0;right:max(var(--content-edge),calc(100vw - min(62.5vw,920px) - 440px));z-index:3;padding:24px 0}.masthead nav{display:flex;gap:24px;font-size:14px}.masthead a{display:flex;align-items:center;min-height:44px}.opening{--intro-left:min(62.5vw,920px);position:relative;width:100%;min-height:min(58.67vw,680px,calc(100svh - 120px))}.hero-botanical{position:absolute;top:0;left:0;width:min(88vw,calc(100vw - 108px),1020px,calc(150svh - 180px));aspect-ratio:3/2;background:url('assets/hero-desktop.webp') left top/contain no-repeat;pointer-events:none}.opening-text{position:relative;width:clamp(260px,34vw,440px);margin-left:var(--intro-left);margin-right:var(--content-edge);padding:104px 0 32px}.eyebrow{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:22px}h1{font-size:clamp(48px,5.4vw,68px);font-weight:400;line-height:1.03;letter-spacing:.035em;margin-bottom:28px}.opening-intro{font-size:17px;line-height:1.6}
/* Every ordinary rule has one space interval on either side. */
.about,#work{width:min(1080px,86%);display:grid;grid-template-columns:clamp(160px,15vw,200px) minmax(0,1fr);column-gap:clamp(24px,3vw,48px);row-gap:28px}.about{padding:32px 0 var(--section-space)}.about-copy{font-size:18px;max-width:none}.about-column+.about-column{margin-top:20px}.about-heading{display:flex;flex-direction:column;gap:24px}.about-tea{display:block;width:100px;height:100px}.about-tea img{width:100%;height:100%;object-fit:contain}.tea-steam{display:none}.botanical-divider{position:relative;width:min(650px,88%);aspect-ratio:3/1;margin:0 auto;background:url('assets/botanical-divider-delicate-v3.webp') center/contain no-repeat;pointer-events:none}.botanical-divider:after{content:"";position:absolute;inset:0;background:var(--paper) url('assets/divider-leaf-attached.webp') center/contain no-repeat;clip-path:polygon(39% 0,70% 0,70% 70%,77% 70%,77% 100%,39% 100%)}
#work,#little-tools,#enthusiasms,#stories>.section-wrap{padding-block:var(--section-space)}#little-tools,#enthusiasms,#stories>.section-wrap{border-top:1px solid var(--line)}.work-list{display:grid;gap:32px;width:100%}.project-title{display:flex;flex-direction:column;gap:4px;margin-bottom:14px}.small{font-size:13px;color:var(--muted)}.project p{max-width:none}
/* Awards are supporting evidence, not another card grid. */
.award-tiles{grid-column:2;width:100%;max-width:none;display:flex;justify-content:space-between;gap:20px}.award-tile{display:flex;flex-direction:column;align-items:flex-start;gap:8px;text-decoration:none}.award-tile:last-child{align-items:flex-end;text-align:right}.award-name{font-size:13px;line-height:1.4;text-decoration:underline;text-underline-offset:3px}.award-detail{font-size:13px;color:var(--muted)}.award-art{display:block;height:56px;background-repeat:no-repeat;flex:none}.award-art--editors-choice{width:79px}.award-art--editors-choice svg{display:block;width:79px;height:56px}.award-art--apple{width:59px;background-image:url('assets/apple-trophy.webp');background-size:73.52px 73.52px;background-position:-8.61px -10.91px}.award-art--red-dot,.award-art--if-design{background-image:url('assets/design-award-marks.png');mix-blend-mode:multiply;width:56px}.award-art--red-dot{background-size:615px 215px;background-position:-124px -64px;filter:brightness(1.04)}.award-art--if-design{background-size:574px 200.67px;background-position:-401.33px -73.27px;border-radius:8px}
/* Shared carousel headers and accessible native scrolling. */
.section-row,.projects-heading,.recommendation-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px}.shelf-controls{display:flex;gap:8px;flex:none;margin-top:-12px}.shelf-controls button{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:transparent;cursor:pointer;font-size:20px;line-height:1}.shelf-controls button:hover:not(:disabled){background:#eeeee5;border-color:var(--blue)}.shelf-controls button:disabled{opacity:.3;cursor:default}[hidden]{display:none!important}
#projects-track,.recommendation-grid,#favourites-track,#tastings-track{overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--line) transparent;scroll-snap-type:x mandatory}
#little-tools{position:relative}.projects-carousel{display:grid;grid-template-columns:140px minmax(0,1fr);gap:28px;align-items:start}.projects-art img{width:140px;height:176px;object-fit:contain}.projects-art{padding-top:12px}#projects-track{display:grid;grid-auto-flow:column;grid-template-rows:auto auto 1fr;grid-auto-columns:calc((100% - 40px)/3);gap:14px 20px;overflow-x:auto;padding:3px;scroll-padding-inline:3px}.small-project{display:grid;grid-row:span 3;grid-template-rows:subgrid;min-width:0;padding:22px;background:#f1f2ec;border-radius:8px;scroll-snap-align:start}.project-index-title{margin-bottom:0}.project-status{display:block;font-size:13px;color:var(--muted);margin-top:4px}.project-index-copy{display:contents}.project-solution{font-size:14px;line-height:1.6;color:var(--muted)}.project-note{margin-top:4px;padding-top:0}.project-note-label{font-size:13px;font-weight:400;color:var(--muted);line-height:1.5}.project-note p{font-size:14px;line-height:1.6;margin-top:8px}
/* Reading stays visible; only the book collections scroll. */
.featured-shelf-scroll{margin-top:24px}.bookshelf-featured{display:grid;grid-template-columns:minmax(0,3fr) minmax(210px,1fr);gap:28px}.bookshelf-label{font-size:15px;margin-bottom:20px}.bookshelf-current{border-left:1px solid var(--line);padding-left:28px}.favourite-heading{margin:0 0 20px}.favourite-heading h3{margin:0}.favourites-controls{display:none}.favourite-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.favourite-book{display:grid;grid-template-columns:80px minmax(0,1fr);gap:14px}.cover-frame{display:flex;align-items:flex-end;flex:none;width:80px;height:120px}.cover-frame img{width:80px;height:120px;object-fit:cover;object-position:center top;box-shadow:1px 3px 5px #3a301c20}.book-author{font-size:13px;color:var(--muted);line-height:1.45;margin-top:5px}.favourite-note{font-size:13px;line-height:1.5;margin-top:10px}.current-book{display:flex;gap:14px}.bookshelf-recommendations{margin-top:32px}.recommendation-heading h3{margin:0}.recommendation-grid{display:flex;gap:28px;overflow-x:auto;padding:3px;align-items:flex-start}.recommended-book{flex:0 0 calc((100% - 168px)/7);min-width:0;scroll-snap-align:start}.recommended-book .cover-frame{width:84px;height:126px;margin-bottom:12px}.recommended-book img{width:84px;height:126px}.book-note-toggle{font-size:13px}.recommendation-note{font-size:14px}
/* Tasting controls use the same heading position as other collections. */
.tasting-intro .section-row{margin-bottom:20px}.tasting-copy{max-width:660px}.tasting-carousel{margin-top:24px}.tasting-links{display:flex;gap:24px;overflow-x:auto;padding:3px 0;scrollbar-width:none!important}.tasting-links::-webkit-scrollbar{display:none}.tasting-item{flex:0 0 calc((100% - 48px)/3);scroll-snap-align:start;padding:0 8px;text-align:center;min-width:0}.tasting-item a{display:block}.tasting-art{height:180px;display:flex;align-items:center;justify-content:center;margin-bottom:12px}.tasting-art img{width:210px;height:175px;object-fit:contain}.tasting-caption,.tasting-item figcaption{font-size:15px;line-height:1.5}.tasting-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.tasting-item[data-tasting="chocolate"] img{width:225px}.tasting-item[data-tasting="sparkling-wine"] img{height:165px}
/* Stable original-pixel flower/leaf composition and an independent orange tulip. */
.botanical-closing{position:relative;min-height:592px;isolation:isolate;overflow:hidden}.botanical-closing:before{content:'';display:block;width:min(1280px,86%);margin:auto;border-top:1px solid var(--line)}.closing-art{position:absolute;inset:0;z-index:-1;pointer-events:none}.closing-art:before,.closing-art:after{content:'';position:absolute;background-repeat:no-repeat;background-size:contain}.closing-art:before{width:600px;aspect-ratio:600/560;bottom:0;left:0;background-image:url('assets/footer-parrot-composed-2x.webp')}.closing-art:after{width:320px;aspect-ratio:946/1300;bottom:0;transform:translateY(8%);right:0;background-image:url('assets/botanical-footer-orange-complete.webp')}.closing-petal{position:absolute;bottom:22px;right:calc(var(--content-edge) + 230px);width:300px;height:450px;pointer-events:none;z-index:-1}.closing-petal span{position:absolute;inset:0;background:url('assets/botanical-falling-petals.webp') center/contain no-repeat}.closing-petal span:nth-child(1){clip-path:polygon(69% 0,100% 0,100% 46%,69% 46%);transform:translate(-100%,57%)}.closing-petal span:nth-child(2){clip-path:polygon(0 37%,68% 37%,68% 46%,75% 46%,75% 70%,0 70%);transform:translate(28%,-8%)}.closing-petal span:nth-child(3){clip-path:inset(71% 0 0 0);transform:translate(-15%,-7%)}.contact{position:absolute;top:var(--section-space);right:var(--content-edge);width:290px}.contact-heading{padding-right:52px;text-align:right;margin-bottom:8px}.contact-actions{display:flex;flex-direction:column;align-items:flex-end;gap:0;padding-right:52px;text-align:right}.email-group{display:flex;align-items:center;position:relative;min-height:44px}.copy-email{position:absolute;left:calc(100% + 8px);top:50%;transform:translateY(-50%);display:grid;place-items:center;min-width:44px;min-height:44px;border:0;background:transparent;cursor:pointer}.copy-feedback{position:absolute;top:100%;left:calc(100% + 8px);font-size:13px;background:var(--paper);white-space:nowrap}
@media(min-width:1200px){:root{--about-label:clamp(160px,15vw,200px);--about-gap:clamp(24px,3vw,48px);--intro-column-left:calc(50vw + (var(--about-label) + var(--about-gap) + 36px)/2);--intro-column-width:calc((min(1080px,86vw) - var(--about-label) - var(--about-gap) - 36px)/2)}.about{grid-template-columns:var(--about-label) minmax(0,1fr);column-gap:var(--about-gap)}.opening{--intro-left:var(--intro-column-left)}.opening-text{width:var(--intro-column-width)}.masthead{right:calc((100vw - min(1080px,86vw))/2)}.about-copy{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 36px;max-width:none;align-content:start}.about-column+.about-column{margin-top:0}}
@media(min-width:701px) and (max-width:1150px){.projects-carousel{display:block!important}.projects-heading{min-height:90px}.projects-art{position:absolute;top:30px;left:190px;padding:0}.projects-art img{width:70px!important;height:88px}.recommended-book{flex-basis:calc((100% - 112px)/5)}}
@media(max-width:1150px){.favourite-book{display:block}.favourite-book .cover-frame{margin-bottom:12px}.projects-carousel{grid-template-columns:110px minmax(0,1fr);gap:24px}.projects-art img{width:110px}#projects-track{grid-auto-columns:calc((100% - 20px)/2)}}
@media(min-width:701px) and (max-width:1000px){.masthead{right:var(--content-edge)}.masthead nav{gap:12px;font-size:13px}.opening-text{margin-left:auto}.hero-botanical{background-image:url('assets/hero-mobile.webp')}h1{font-size:clamp(42px,5.4vw,54px)}.about,#work{grid-template-columns:1fr}.about-heading{flex-direction:row;justify-content:space-between;align-items:center}.about-tea{width:64px;height:64px}.award-tiles{grid-column:1}.botanical-closing{min-height:540px}.closing-art:before{width:500px}.closing-art:after{width:260px}.closing-petal{right:27%;width:220px;height:330px;bottom:95px}.contact{top:var(--section-space)}}
@media(max-width:700px){
 :root{--section-space:32px}body{font-size:16px}.masthead{position:relative;right:auto;width:86%;margin:auto;padding:8px 0}.masthead nav{gap:0;justify-content:space-between;font-size:13px}.opening{min-height:0;padding-bottom:16px}.hero-botanical{width:100%;background-image:url('assets/hero-mobile.webp')}.opening-text{width:auto;margin:0 7%;padding:calc(66.67vw + 20px) 0 0}h1{font-size:52px;margin-bottom:28px}.about,#work{grid-template-columns:1fr}.about-copy{font-size:17px}.about-heading{flex-direction:row;justify-content:space-between;align-items:center}.about-tea{width:64px;height:64px}.award-tiles{grid-column:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.section-row,.projects-heading,.recommendation-heading{gap:16px;margin-bottom:20px}.projects-heading{min-height:78px;align-items:flex-start}.projects-heading h2{max-width:135px}.projects-art{position:absolute;top:28px;left:auto;right:104px;padding:0}.projects-art img{width:58px;height:78px}.projects-carousel{display:block}#projects-track{display:flex;gap:16px}.small-project{display:flex;flex-direction:column;gap:14px;flex:0 0 90%;padding:20px}.project-index-copy{display:flex;flex-direction:column;gap:14px}.bookshelf-featured{display:flex;flex-direction:column;gap:28px}.bookshelf-current{order:-1;border:0;padding:0}.current-book{align-items:center}.bookshelf-current .bookshelf-label{margin-bottom:16px}.favourites-controls{display:flex}.favourite-heading{align-items:flex-start}.favourite-grid{display:flex;gap:20px;overflow-x:auto;padding:3px}.favourite-book{flex:0 0 148px;scroll-snap-align:start}.bookshelf-recommendations{margin-top:28px}.recommendation-grid{gap:20px}.recommended-book{flex-basis:calc((100% - 40px)/2.25)}.tasting-art{height:125px}.tasting-art img{width:140px;height:120px}.tasting-links{gap:16px}.tasting-item{flex-basis:calc((100% - 16px)/2)}.tasting-item[data-tasting="chocolate"] img{width:150px}.tasting-item[data-tasting="sparkling-wine"] img{height:120px}.tasting-copy{font-size:16px}.botanical-closing{min-height:500px}.closing-art:before{width:300px;bottom:0;left:0}.closing-art:after{width:150px}.closing-petal{top:auto;bottom:8px;right:30%;width:140px;height:210px}.closing-petal span:nth-child(1){transform:translate(35%,53%)}.closing-petal span:nth-child(3){transform:translate(10%,-7%)}.contact{top:32px;right:7%;width:240px;text-align:right}.contact-actions{align-items:flex-end;gap:4px}
}
@media(max-width:360px){.projects-art{right:98px}.projects-art img{width:44px}.projects-heading h2{max-width:110px}.masthead nav{font-size:12px}.closing-art:before{width:270px}.closing-art:after{width:135px}.closing-petal{width:125px;height:188px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Footer: original flower pixels, a leaf rising from the stem, and quiet contact details. */
.closing-art:before{display:none}
.parrot-composition{position:absolute;bottom:0;left:0;width:600px;aspect-ratio:600/560}
.parrot-flower{position:absolute;left:0;top:-13.393%;width:80%;height:91.071%;background:url('assets/botanical-footer.png') left top/auto 100% no-repeat}
.parrot-leaf{position:absolute;left:-5%;top:2.5%;width:45%;height:72.321%;max-width:none;transform-origin:left bottom;transform:rotate(50deg);filter:brightness(.84) saturate(1.15)}
.contact{top:auto;bottom:30px;right:240px;width:220px}
.closing-petal{bottom:107px}
.contact-heading,.contact-actions{padding-right:0;text-align:left}
.contact-actions{align-items:flex-start;gap:6px}
.email-link,.email-link:hover{text-decoration:none}
@media(min-width:701px) and (max-width:1150px){.contact{bottom:30px;right:205px;width:205px;font-size:16px}.closing-petal{bottom:170px;width:200px;height:300px;right:27%}.parrot-composition{width:460px}}
@media(max-width:700px){.closing-petal{bottom:8px}.parrot-composition{width:300px}.contact{top:32px;bottom:auto;right:7%;width:240px}.contact-heading,.contact-actions{text-align:right}.contact-actions{align-items:flex-end}}
@media(max-width:360px){.parrot-composition{width:270px}}
