:root{--paper:#fff9ee;--ink:#2f2a24;--ink-soft:#766a58;--line:#2a251f;--coral:#ff6f59;--mint:#8ee2c3;--sun:#ffd966;color:var(--ink);background:var(--paper);font-synthesis:none;font-family:Gowun Dodum,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);min-width:320px;margin:0}button,input,textarea{font:inherit}.reservation-hero{border-bottom:2px solid var(--line);background-color:var(--paper);background-image:radial-gradient(#2a251f14 1px,#0000 1px);background-size:22px 22px;min-height:min(92svh,900px);padding:30px max(24px,50vw - 590px) 72px;position:relative;overflow:hidden}.reservation-nav{z-index:10;justify-content:space-between;align-items:center;display:flex;position:relative}.reservation-nav a{color:var(--ink);text-decoration:none}.reservation-nav>a:last-child{border:2px solid var(--line);background:var(--sun);box-shadow:3px 3px 0 var(--line);border-radius:12px 5px;padding:9px 15px;font-family:Gaegu,cursive;font-size:18px;font-weight:700}.brand{font-family:Gaegu,cursive;font-size:34px;font-weight:700}.hero-copy-block{z-index:5;width:min(660px,62vw);padding-top:clamp(90px,14vh,160px);position:relative}.eyebrow{color:#aa3d2c;margin:0 0 8px;font-family:Gaegu,cursive;font-size:17px;font-weight:700}h1,h2{letter-spacing:0;margin:0;font-family:Gaegu,cursive}h1{word-break:keep-all;overflow-wrap:normal;text-wrap:balance;max-width:650px;font-size:clamp(54px,7.2vw,98px);line-height:.94}.hero-copy-block>p:not(.eyebrow){max-width:540px;color:var(--ink-soft);margin:24px 0 0;font-size:clamp(17px,1.5vw,21px);line-height:1.65}.reservation-form{max-width:610px;margin-top:34px}.secret-benefit{border:2px dashed var(--line);background:var(--sun);border-radius:10px 4px;max-width:560px;margin:0 0 16px;padding:10px 13px;font-size:14px;font-weight:700;line-height:1.5;transform:rotate(-.4deg)}.secret-benefit strong{color:#943524;margin-right:6px;font-family:Gaegu,cursive;font-size:17px;display:inline-block}.reservation-form label{margin-bottom:8px;font-family:Gaegu,cursive;font-size:18px;font-weight:700;display:block}.reservation-submit-row{grid-template-columns:minmax(0,1fr) auto;gap:10px;display:grid}.reservation-form input,.reservation-form textarea,.reservation-form button{border:2px solid var(--line);min-height:54px;color:var(--ink)}.reservation-form input,.reservation-form textarea{background:#ffffffe0;border-radius:15px 6px;outline:none;min-width:0;padding:0 16px}.reservation-form textarea{resize:vertical;width:100%;min-height:82px;padding-top:12px;padding-bottom:12px;line-height:1.5;display:block}.reservation-form input:focus,.reservation-form textarea:focus{box-shadow:0 0 0 4px #8ee2c399}.reservation-form .developer-message-label{align-items:center;gap:7px;margin-top:16px;display:flex}.developer-message-label span{border:1px solid var(--line);background:var(--mint);border-radius:8px 3px;padding:2px 6px;font-family:Gowun Dodum,sans-serif;font-size:10px}.message-counter{color:var(--ink-soft);text-align:right;margin:4px 3px 0 0;font-size:11px;display:block}.reservation-form button{background:var(--coral);color:#fff;cursor:pointer;box-shadow:4px 4px 0 var(--line);border-radius:15px 6px;padding:0 21px;font-family:Gaegu,cursive;font-size:20px;font-weight:700}.reservation-form button:disabled{cursor:wait;opacity:.66;box-shadow:2px 2px 0 var(--line)}.reservation-form .reservation-consent{grid-template-columns:20px minmax(0,1fr);align-items:start;gap:8px;margin:12px 0 0;font-family:inherit;font-size:13px;font-weight:600;line-height:1.45;display:grid}.reservation-consent input{width:18px;min-width:18px;height:18px;min-height:18px;accent-color:var(--coral);background:0 0;border:0;border-radius:3px;margin:1px 0 0;padding:0}.reservation-consent input:focus{box-shadow:none}.reservation-privacy{color:var(--ink-soft);margin:5px 0 0 28px;font-size:12px}.reservation-privacy summary{cursor:pointer;font-weight:700}.reservation-privacy p{margin:5px 0 0;line-height:1.5}#reservation-message{color:#147655;min-height:24px;margin:10px 0 0;font-weight:700}#reservation-message.is-error{color:#b43131}.moment-photo{z-index:2;width:clamp(250px,29vw,410px);position:absolute;top:14%;right:max(40px,50vw - 560px);transform:rotate(4deg)}.moment-photo img{aspect-ratio:1;border:3px solid var(--line);object-fit:cover;width:100%;box-shadow:8px 9px 0 var(--line);border-radius:22px 8px;display:block}.moment-photo span{border:2px solid var(--line);background:var(--mint);box-shadow:3px 3px 0 var(--line);border-radius:12px 4px;padding:8px 12px;font-family:Gaegu,cursive;font-size:17px;font-weight:700;position:absolute;bottom:18px;right:-18px}.reservation-pet{z-index:4;filter:drop-shadow(0 18px 18px #2f2a2429);width:clamp(270px,34vw,500px);animation:3.4s ease-in-out infinite pet-float;position:absolute;bottom:-42px;right:max(6px,50vw - 630px)}@keyframes pet-float{50%{transform:translateY(-9px)rotate(-1deg)}}.next-hint{z-index:7;color:var(--ink);font-family:Gaegu,cursive;font-size:17px;font-weight:700;text-decoration:none;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.preview-band{background:var(--mint);grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:80px;padding:100px max(24px,50vw - 560px);display:grid}.preview-heading h2{font-size:clamp(40px,5vw,68px);line-height:1}.preview-steps{gap:0;margin:0;padding:0;list-style:none;display:grid}.preview-steps li{border-bottom:2px dashed #2a251f6b;grid-template-columns:58px minmax(0,1fr);align-items:baseline;gap:18px;padding:20px 0;display:grid}.preview-steps strong{font-family:Gaegu,cursive;font-size:26px}.preview-steps span{font-size:18px;line-height:1.55}.reservation-footer{border-top:2px solid var(--line);color:var(--ink-soft);justify-content:center;gap:22px;padding:24px;font-size:13px;display:flex}.reservation-footer a{color:inherit;text-underline-offset:3px}@media (width<=760px){.reservation-hero{min-height:860px;padding:20px 20px 74px}.hero-copy-block{width:100%;padding-top:58px}h1{max-width:100%;font-size:clamp(46px,13.5vw,66px);line-height:1.02}.hero-copy-block>p:not(.eyebrow){max-width:90%;font-size:17px}.reservation-form{margin-top:26px}.reservation-submit-row{grid-template-columns:1fr}.reservation-hero{min-height:1290px}.moment-photo{width:190px;top:auto;bottom:10px;right:-10px}.reservation-pet{width:250px;bottom:-58px;right:-82px}.next-hint{white-space:nowrap;bottom:250px;left:20px;transform:none}.preview-band{grid-template-columns:1fr;gap:46px;padding:72px 24px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reservation-pet{animation:none}}
