:root{--paper:#f8f5ed;--ink:#181917;--sage:#abb79a;--muted:#57594e;--line:#d9d9ca}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}a:focus-visible,button:focus-visible{outline:2px solid #526245;outline-offset:6px}h1,h2,h3,p{margin:0}h1,h2{font-family:Parisienne,'Snell Roundhand',cursive;font-weight:400;line-height:1.08}h1{font-size:clamp(52px,5.4vw,78px)}h2{font-size:clamp(54px,6vw,88px)}h3{font-family:Parisienne,cursive;font-size:48px;font-weight:400;line-height:1.15}header{height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 6%;position:sticky;top:0;z-index:10;background:#f8f5edf5;border-bottom:1px solid #deded055;backdrop-filter:blur(12px)}.wordmark{font-size:30px;font-weight:600;letter-spacing:-2px;line-height:.85}.wordmark span{display:block;font-size:8px;letter-spacing:5px;margin-top:9px;margin-left:3px}nav{display:flex;gap:36px;font-size:14px}nav a{padding:10px 0;border-bottom:1px solid transparent}nav a:hover,nav a.active{border-color:var(--ink)}.eyebrow{font-size:11px;letter-spacing:2.6px;font-weight:500}.hero{min-height:850px;position:relative;overflow:hidden;display:grid;place-items:center;padding:46px 20px 65px}.hero-inner{position:relative;z-index:1;text-align:center}.logo{width:330px;height:330px;object-fit:contain;mix-blend-mode:multiply;display:block;margin:0 auto 0}.intro{color:var(--muted);margin:20px 0 28px}.text-link{display:inline-flex;gap:28px;align-items:center;font-size:14px;border-bottom:1px solid #7d8472;padding-bottom:7px}.text-link span{font-size:21px}.art{position:absolute;pointer-events:none}.flower{width:200px;height:330px;left:8%;top:150px;color:#a8b697;transform:rotate(-12deg)}.coffee{width:180px;height:170px;right:8%;top:70px;color:#d6bba6;transform:rotate(13deg)}.perfume{width:145px;height:200px;right:11%;bottom:110px;color:#bfc8af;transform:rotate(14deg)}.ice{width:105px;height:105px;left:18%;bottom:90px;color:#c5d3d4;transform:rotate(-9deg)}.hero-note{position:absolute;bottom:28px;font-size:11px;letter-spacing:1px;color:var(--muted)}.section{padding:100px max(6%,calc((100vw - 1140px)/2));scroll-margin-top:0}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:70px}.section-heading h2{margin-top:18px}.section-heading>p{font-size:14px;color:var(--muted);margin-bottom:8px}.portfolio{border-top:1px solid var(--line)}.project{position:relative;margin-bottom:110px}.matcha{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.project-copy{position:relative;min-height:480px;padding:45px 0}.project-copy h3{margin:22px 0}.project-copy p,.project-title p{color:var(--muted);font-size:15px}.project-number{font-family:Parisienne,cursive;display:block;font-size:60px;color:#98a385;margin-top:30px}.small-cup{width:150px;height:145px;right:20px;bottom:0;color:#c4ccb5;transform:rotate(-9deg)}.photo{padding:0;border:0;background:transparent;display:block;position:relative;cursor:zoom-in;width:100%;text-align:left}.photo img{width:100%;height:auto;display:block}.photo span{display:block;padding:12px 0;font-size:11px;letter-spacing:1px;border-bottom:1px solid var(--line)}.project-title{margin-bottom:32px}.project-title h3{margin:14px 0 10px}.photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:start}.offset{margin-top:95px}.portfolio-note{font-size:12px;color:var(--muted);margin-top:-55px}.about{background:#e7eadf;display:grid;grid-template-columns:.8fr 1fr;gap:12%;align-items:center}.about-art{position:relative;text-align:center}.about-art svg{width:230px;height:345px;color:#99aa86;transform:rotate(-7deg)}.about-art span{display:block;font:36px/1.15 Parisienne,cursive;transform:rotate(-6deg);margin-top:25px}.about-copy h2{margin:22px 0}.about-copy p{margin-bottom:20px}.about-copy .lead{font-size:21px}.about-copy>p:not(.lead):not(.eyebrow){color:#454b40}.about-copy .text-link{margin-top:15px}.contact{position:relative;text-align:center;overflow:hidden;padding-top:110px;padding-bottom:120px}.contact h2{margin:25px 0}.contact>p:not(.eyebrow){color:var(--muted)}.email{font-size:clamp(19px,3vw,34px);display:inline-block;border-bottom:1px solid #7c8372;padding:12px 0;margin-top:25px}.email span{font-size:.8em;margin-left:12px}.contact-links{display:flex;gap:35px;justify-content:center;margin-top:25px;font-size:13px}.contact-links a:hover{text-decoration:underline}.contact-bottle{width:120px;height:180px;left:7%;top:160px;color:#d8c2b1;transform:rotate(-17deg)}footer{border-top:1px solid var(--line);padding:25px 6%;display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}.skip{position:fixed;left:20px;top:-80px;background:var(--ink);color:white;padding:12px;z-index:100}.skip:focus{top:10px}.symbols{position:absolute}.reveal{opacity:0;transform:translateY(10px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}dialog{border:0;background:#f8f5ed;padding:35px 20px 16px;max-width:94vw;max-height:95dvh;overflow:auto}dialog::backdrop{background:#121710dd}dialog img{display:block;max-height:80dvh;max-width:85vw;width:auto;margin:auto}dialog p{font-size:11px;text-align:center;margin-top:8px}.close{position:absolute;right:5px;top:0;font-size:28px;background:transparent;border:0;cursor:pointer;line-height:1;width:40px;height:35px}
@media(max-width:700px){header{height:73px;padding:0 6%}nav{gap:20px;font-size:12px}.hero{min-height:780px;padding-top:35px}.hero .eyebrow{font-size:9px;letter-spacing:1.7px}.logo{width:275px;height:275px}.flower{width:105px;height:185px;left:-22px;top:160px}.coffee{width:92px;height:90px;right:-12px;top:70px}.perfume{width:85px;height:125px;right:-12px;bottom:80px}.ice{width:65px;height:65px;left:5%;bottom:85px}.hero h1{font-size:54px}.hero-note{bottom:23px}.section{padding:70px 6%}.section-heading{display:block;margin-bottom:40px}.section-heading>p{margin-top:20px}.matcha{grid-template-columns:1fr;gap:25px}.project-copy{min-height:0;padding:0 95px 0 0}.project-copy h3{margin:15px 0;font-size:40px}.project-number{display:none}.small-cup{right:0;bottom:5px;width:80px;height:90px}.project{margin-bottom:65px}.photo-pair{gap:14px}.offset{margin-top:48px}.photo span{font-size:9px;letter-spacing:0}.project-title h3{font-size:42px}.portfolio-note{margin-top:-20px;font-size:11px}.about{grid-template-columns:1fr;gap:45px}.about-art{display:none}.about-copy h2{font-size:57px}.contact h2{font-size:65px}.contact-bottle{width:66px;height:100px;left:-22px;top:125px}.contact-links{flex-direction:column;gap:12px}.email{font-size:20px}footer{flex-wrap:wrap;gap:18px;font-size:10px}footer span:nth-child(2){display:none}dialog{padding:36px 10px 14px}dialog img{max-width:85vw}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}
.hero-inner{mix-blend-mode:multiply}
.booking { position: relative; max-width: 620px; margin: 38px auto 25px; padding: clamp(19px,4vw,38px); text-align: left; border: 1px solid var(--line); background: #f5f3e9; }
.booking h3 { margin-bottom: 10px; }
.booking p { color: var(--muted); font-size: 14px; }
.booking .fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin: 24px 0 16px; }
.booking label { display: block; font-size: 14px; }
.booking small { color: var(--muted); }
.booking input:not([hidden]),.booking textarea { display: block; width:100%; min-width:0; margin-top:5px; padding:10px; border:1px solid #9da58e; background:#fffdf7; color:var(--ink); font:inherit; font-size:16px; border-radius:3px; }
.booking textarea { resize:vertical; }
.booking .form-note { margin:12px 0 18px; font-size:12px; }
.booking button { border:0; padding:12px 20px; background:#384635; color:white; cursor:pointer; }
@media(max-width:600px){.booking .fields { grid-template-columns:1fr; }}
.booking .draft-button { background:transparent; color:#384635; text-decoration:underline; }
.booking-status:not(:empty) { margin-top:16px; }
