:root{font-family:Gowun Dodum,DM Sans,sans-serif;color:#302e29;background:#f8f7f3;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;font-weight:400;--ink:#302e29;--muted:#8d8980;--line:#e9e6de;--green:#435c49;--green-dark:#344a39;--cream:#efede5;--rust:#bb795e}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,textarea{font:inherit}button{color:inherit}a{color:inherit;text-decoration:none}.app-shell{max-width:1440px;margin:auto;padding:0 7.1%}.icon{width:18px;height:18px;flex:none}.topbar{height:84px;display:flex;align-items:center;border-bottom:1px solid var(--line);gap:64px}.brand{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:700;letter-spacing:-.06em}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e8e8db;color:var(--green)}.brand-mark .icon{width:19px;height:19px}.brand-period,.footer-brand span{color:var(--rust)}.top-nav{height:100%;display:flex;align-items:center;gap:18px;font-size:13px;color:#77746c}.nav-active{color:var(--ink);font-weight:700;height:100%;display:flex;align-items:center;position:relative}.nav-active:after{content:"";position:absolute;bottom:-1px;height:2px;left:0;right:0;background:var(--green)}.nav-caption{padding-left:18px;border-left:1px solid var(--line);font-size:12px;color:#aaa69d}.top-add{margin-left:auto}.button{border:0;border-radius:5px;min-height:45px;padding:0 17px;display:inline-flex;align-items:center;justify-content:center;gap:9px;cursor:pointer;font-size:13px;font-weight:700;transition:background .18s,transform .18s}.button:hover:not(:disabled){transform:translateY(-1px)}.button-primary{background:var(--green);color:#fff}.button-primary:hover:not(:disabled){background:var(--green-dark)}.button-primary:disabled{opacity:.65;cursor:wait}.button-primary .icon{width:16px;height:16px}.button-quiet{background:transparent;color:#706d65;border:1px solid var(--line)}.button-outline{background:#fff;border:1px solid var(--line)}.hero{position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:345px;padding:45px 10.6% 32px;background:#efeee6;overflow:hidden}.hero-copy{position:relative;z-index:2}.eyebrow{font-family:DM Sans,sans-serif;color:#9b8c70;font-size:10px;font-weight:700;letter-spacing:.16em}.eyebrow-dot{font-size:12px;color:#b68468;margin-left:4px}.hero h1{font-size:37px;line-height:1.43;letter-spacing:-.055em;font-weight:400;margin:13px 0 12px}.hero h1 em{font-style:normal;color:var(--green);font-weight:700}.hero-copy>p{color:#77756b;font-size:13px;line-height:1.95;margin:0 0 19px}.hero-button{min-height:43px;font-size:12px}.hero-art{position:relative;height:267px;width:min(100%,420px);justify-self:end;overflow:hidden}.art-sun{position:absolute;width:187px;height:187px;border-radius:50%;background:#dfd7c2;top:2px;right:58px}.art-table{position:absolute;bottom:22px;left:7%;right:4%;height:60px;border-radius:50%;background:#a89a7a}.art-cup{position:absolute;width:125px;height:106px;left:37%;top:96px;background:#eae3d5;border-radius:9px 9px 55px 55px;transform:rotate(-5deg);box-shadow:10px 15px #8b8068}.art-cup:after{content:"";position:absolute;width:35px;height:39px;border:9px solid #eae3d5;border-left:0;border-radius:0 25px 25px 0;right:-27px;top:18px}.art-cup span{font-size:43px;position:absolute;left:33px;top:19px;filter:grayscale(1);opacity:.66}.art-flower{position:absolute;color:#b87760;font-size:44px;z-index:1}.flower-one{right:60px;top:48px;transform:rotate(-18deg)}.flower-two{left:20px;top:62px;color:#9b9a77;font-size:32px;transform:rotate(15deg)}.art-leaf{position:absolute;right:17px;top:104px;font-size:70px;color:#768269;transform:rotate(41deg)}.art-spark{position:absolute;color:#a28e68}.spark-one{left:18%;top:21px;font-size:24px}.spark-two{right:6%;top:25px;font-size:19px}.art-caption{position:absolute;right:15px;bottom:4px;font-family:DM Sans,sans-serif;font-size:9px;line-height:1.5;color:#f9f6ec;letter-spacing:.08em;text-align:right}.hero-decoration{position:absolute;right:31px;top:27px;font-size:23px;color:#a7a187}.journal-section{padding:58px 0 64px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:25px}.section-heading h2{font-size:23px;letter-spacing:-.06em;margin:8px 0 0}.count-badge{display:inline-grid;place-items:center;vertical-align:4px;margin-left:5px;width:22px;height:22px;border-radius:50%;background:#e9e8df;color:#737767;font-family:DM Sans,sans-serif;font-size:11px;letter-spacing:0}.journal-tools{display:flex;gap:11px;align-items:center}.search-box{height:39px;width:228px;border:1px solid var(--line);border-radius:4px;background:#fff;display:flex;align-items:center;padding:0 10px;gap:8px;color:#99958b}.search-box .icon{width:16px;height:16px}.search-box input{width:100%;min-width:0;outline:0;border:0;background:transparent;font-size:11px;color:var(--ink)}.search-box input::placeholder{color:#aaa69d}.search-box button{border:0;background:none;padding:0;color:#999}.filter-switch{height:39px;border:1px solid var(--line);border-radius:4px;padding:3px;display:flex;background:#fff}.filter-switch button{border:0;background:transparent;padding:0 10px;font-size:10px;color:#8b887e;border-radius:3px;cursor:pointer}.filter-switch button.selected{background:#e9ebe3;color:var(--green);font-weight:700}.visit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px 21px}.visit-card{text-align:left;padding:0;border:1px solid #ebe8e0;background:#fff;border-radius:5px;overflow:hidden;cursor:pointer;transition:transform .22s,box-shadow .22s;animation:rise .42s both}.visit-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px #463a2512}.card-image{height:185px;position:relative;overflow:hidden;background:#e9e5da}.card-image>img,.detail-photo>img,.photo-drop>img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s}.visit-card:hover .card-image>img{transform:scale(1.035)}.card-image:after{content:"";position:absolute;top:50%;right:0;bottom:0;left:0;background:linear-gradient(transparent,#211a1377);pointer-events:none}.image-date{position:absolute;z-index:1;left:14px;bottom:12px;color:#fff;font-size:10px;text-shadow:0 1px 3px #333}.card-open{position:absolute;z-index:1;right:12px;bottom:10px;width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:#ffffffd9;color:#3e5041}.card-open .icon{width:14px;height:14px}.card-body{padding:16px 16px 13px}.card-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.card-title-row h3{font-size:16px;letter-spacing:-.045em;margin:0;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stars{display:inline-flex;gap:1px;color:#dedbd2;white-space:nowrap;line-height:1}.star{font-family:Arial,sans-serif;font-size:13px}.star.filled{color:#c39062}.card-address{display:flex;align-items:center;gap:5px;color:#99958b;font-size:10px;margin-top:8px}.card-address .icon{width:12px;height:12px}.card-body>p{font-size:11px;color:#77746c;line-height:1.75;margin:13px 0 11px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:39px}.card-read-more{font-size:10px;color:#989387;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #f0eee9;padding-top:10px}.card-read-more span{font-size:14px;color:#687965}.photo-placeholder{height:100%;display:grid;place-items:center;background:radial-gradient(ellipse at 52% 60%,#c5bca7 0 14%,transparent 14.5%),linear-gradient(140deg,#e8e4d7,#d7d7ca);color:#fbf9f1}.photo-placeholder .icon{width:50px;height:50px;stroke-width:1.1}.journal-foot{border-top:1px solid var(--line);margin-top:30px;padding-top:17px;display:flex;align-items:center;justify-content:space-between;color:#969187;font-size:10px}.foot-flower{color:#b68568;margin-left:3px}.journal-foot button{display:flex;align-items:center;gap:5px;border:0;background:transparent;color:#687965;font-size:10px;cursor:pointer}.journal-foot button .icon{width:14px;height:14px}.state-card{min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#88847b}.state-card p{font-size:12px}.state-card h3{font-size:17px;color:#48463f;margin:14px 0 0}.state-card .button{margin-top:10px}.empty-cup{width:52px;height:52px;border-radius:50%;background:#e9e9df;display:grid;place-items:center;color:#788270}.empty-cup .icon{width:25px;height:25px}.error-state{min-height:280px}.error-state p{margin-bottom:0}.state-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#f4e8df;color:#a75e46;font-weight:700}.loader{width:26px;height:26px;border:2px solid #dedfd5;border-top-color:var(--green);border-radius:50%;animation:spin .7s linear infinite}footer{height:77px;border-top:1px solid var(--line);display:flex;align-items:center;gap:17px;color:#99958b;font-size:10px}.footer-brand{font-size:14px;font-weight:700;color:#555249}.footer-right{margin-left:auto;font-family:DM Sans,sans-serif;font-size:9px;letter-spacing:.12em}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;background:#25251f87;display:flex;align-items:center;justify-content:center;padding:22px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fade .16s}.dialog{position:relative;background:#fff;border-radius:7px;box-shadow:0 20px 70px #17171135;max-height:min(90vh,900px);overflow:auto;animation:pop .2s;width:min(100%,550px)}.form-dialog{padding:27px 31px 25px}.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:21px}.dialog-head h2{font-size:24px;letter-spacing:-.05em;margin:6px 0 0}.icon-button{width:35px;height:35px;border:0;background:#f4f3ef;border-radius:50%;display:grid;place-items:center;cursor:pointer;color:#6e6b63}.icon-button .icon{width:17px;height:17px}.visit-form{display:grid;gap:14px}.visit-form>label,.form-row>label{display:grid;gap:7px;color:#555249;font-size:12px;font-weight:700}.required{color:#b9765b}.optional{font-size:10px;color:#aaa69c;font-weight:400;margin-left:4px}.visit-form input:not([type=file]),.visit-form textarea{width:100%;border:1px solid #e7e4dc;background:#fdfdfb;border-radius:4px;padding:11px 12px;font-size:12px;color:var(--ink);outline:none}.visit-form input:focus,.visit-form textarea:focus{border-color:#8b9a86;box-shadow:0 0 0 2px #8b9a861d}.visit-form textarea{resize:vertical;line-height:1.7}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:end}.rating-field{border:0;margin:0;padding:0;min-width:0}.rating-field legend{font-size:12px;font-weight:700;color:#555249;margin-bottom:7px}.rating-picker{height:40px;display:flex;align-items:center;gap:4px}.rating-picker button{border:0;background:none;padding:2px;font:24px Arial,sans-serif;color:#dedbd2;cursor:pointer}.rating-picker button.picked{color:#c39062}.photo-drop{height:112px;border:1px dashed #d8d5ca;border-radius:4px;background:#faf9f6;position:relative;display:grid;place-items:center;overflow:hidden}.photo-drop.has-photo{height:150px}.photo-prompt{display:flex;flex-direction:column;align-items:center;gap:6px;color:#858176;font-size:11px}.photo-prompt .icon{width:22px;height:22px;color:#8f927d}.photo-prompt small{font-size:9px;color:#aaa69c}.photo-change{position:absolute;right:9px;bottom:8px;background:#fff;border:1px solid #e5e2da;border-radius:3px;padding:6px 9px;font-size:10px;color:#5e6658;z-index:1}.photo-drop input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.form-error{font-size:11px;color:#ac4c3e;margin:0}.form-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:4px}.form-actions .button{min-height:40px}.detail-dialog{width:min(100%,580px)}.detail-close{position:absolute;right:15px;top:15px;z-index:1;background:#ffffffdf}.detail-photo{height:255px;background:#e9e5da}.detail-photo img{object-position:center 55%}.detail-content{padding:24px 29px 25px}.detail-content h2{font-size:27px;letter-spacing:-.06em;margin:8px 0}.detail-rating{display:flex;align-items:center;gap:8px;color:#a78965;font-family:DM Sans,sans-serif;font-size:12px}.stars-large .star{font-size:17px}.detail-meta{display:grid;gap:9px;border-top:1px solid #efede7;border-bottom:1px solid #efede7;padding:15px 0;margin:18px 0;color:#77746b;font-size:11px}.detail-meta>span{display:flex;align-items:center;gap:8px}.detail-meta .icon{width:14px;height:14px;color:#8b917e}.detail-note .eyebrow{font-size:9px}.detail-note p{font-size:12px;line-height:1.9;color:#67645c;margin:8px 0 19px;white-space:pre-wrap}.detail-actions{display:flex;justify-content:space-between;border-top:1px solid #efede7;padding-top:15px}.detail-actions .button{min-height:39px}.detail-actions .button-quiet{border:0}.detail-actions .button-quiet .icon{width:15px;height:15px;color:#a17869}@keyframes spin{to{transform:rotate(360deg)}}@keyframes rise{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes pop{0%{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}@media(min-width:1200px){.app-shell{padding:0 8.8%}.card-image{height:205px}.hero{padding-left:11%;padding-right:11%}}@media(max-width:850px){.app-shell{padding:0 5%}.topbar{gap:36px}.hero{padding-left:7%;padding-right:7%}.hero h1{font-size:32px}.visit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card-image{height:190px}}@media(max-width:600px){.app-shell{padding:0 19px}.topbar{height:68px;gap:20px}.brand{font-size:18px;gap:7px}.brand-mark{width:31px;height:31px}.top-nav{display:none}.top-add{min-height:38px;padding:0 12px;font-size:11px}.top-add .icon{width:14px}.hero{display:block;min-height:0;padding:35px 25px 0}.hero h1{font-size:30px;margin-top:11px}.hero-copy>p{font-size:12px}.hero-button{min-height:40px}.hero-art{width:100%;height:190px;margin-top:5px}.art-sun{width:145px;height:145px;right:26%}.art-table{bottom:17px;height:45px}.art-cup{width:100px;height:83px;top:72px;left:38%}.art-cup span{font-size:34px;left:27px;top:15px}.art-cup:after{width:27px;height:30px;border-width:7px;right:-21px;top:15px}.flower-one{right:15%;top:36px;font-size:35px}.flower-two{left:13%;top:43px;font-size:27px}.art-leaf{right:6%;top:80px;font-size:55px}.art-caption{bottom:1px}.hero-decoration{right:14px;top:14px;font-size:18px}.journal-section{padding:40px 0 45px}.section-heading{align-items:flex-start;flex-direction:column;gap:17px;margin-bottom:18px}.section-heading h2{font-size:20px}.journal-tools{width:100%;gap:7px}.search-box{flex:1;width:auto;height:37px}.filter-switch{height:37px}.filter-switch button{padding:0 8px}.visit-grid{grid-template-columns:1fr;gap:14px}.visit-card{display:grid;grid-template-columns:39% 1fr;min-height:150px}.card-image{height:100%;min-height:150px}.card-image:after{top:45%;right:0;bottom:0;left:0}.image-date{left:8px;bottom:8px;font-size:8px}.card-open{right:7px;bottom:7px;width:23px;height:23px}.card-body{padding:12px 11px 9px;min-width:0}.card-title-row{align-items:flex-start;flex-direction:column;gap:5px}.card-title-row h3{font-size:14px;max-width:100%}.star{font-size:11px}.card-address{font-size:9px;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-address .icon{width:11px}.card-body>p{font-size:10px;line-height:1.6;margin:8px 0 6px;min-height:32px;-webkit-line-clamp:2}.card-read-more{padding-top:7px;font-size:9px}.journal-foot{margin-top:19px}.state-card{min-height:230px}footer{height:68px;gap:10px;font-size:9px}.footer-brand{font-size:13px}.footer-right{font-size:7px;letter-spacing:.07em}.form-dialog{padding:23px 19px 19px;max-height:94vh}.dialog-head h2{font-size:21px}.visit-form,.form-row{gap:12px}.visit-form input:not([type=file]){padding:10px}.detail-dialog{max-height:94vh}.detail-photo{height:205px}.detail-content{padding:20px}.detail-content h2{font-size:24px}}@media(max-width:370px){.app-shell{padding:0 13px}.hero{padding-left:19px;padding-right:19px}.hero h1{font-size:27px}.filter-switch button{padding:0 6px;font-size:9px}.visit-card{grid-template-columns:36% 1fr}.footer-right{display:none}}
