/* Brand tokens verified against the existing Grinbi booking page. */
:root{--paper:#fff;--ink:#232529;--accent:#bf4549;--logo-dot:#e28889;--soft:#f6f7f8;--line:#e5e7e9;--muted:#656b72;font-family:Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;scroll-behavior:smooth}
*{box-sizing:border-box}body{margin:0;line-height:1.7;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}a:focus-visible{outline:3px solid var(--accent);outline-offset:6px}a:active{transform:translateY(1px)}::selection{background:#f4d9da;color:#232529}.wrap{width:min(1200px,calc(100% - 112px));margin-inline:auto}h1,h2,h3,p{margin:0}h1,h2,h3{word-break:keep-all;line-height:1.35;letter-spacing:-.045em}h2{font-size:clamp(30px,3.1vw,43px);font-weight:750}section[id]{scroll-margin-top:40px}.skip-link{position:absolute;top:12px;left:12px;padding:10px 18px;background:var(--ink);color:white;transform:translateY(-160%);z-index:10}.skip-link:focus{transform:none}.site-header{height:104px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand-lockup{display:inline-flex;align-items:center;gap:12px;flex-shrink:0}.brand-icon{display:flex;align-items:center;justify-content:center;min-width:45px;height:45px;border-radius:13px;background:var(--ink);color:white;font-size:34px;font-weight:800;letter-spacing:-2px;line-height:1;padding-bottom:4px}.brand-icon>span{color:var(--logo-dot)}.brand-text{display:flex;flex-direction:column;gap:3px}.brand-text strong{font-size:21px;font-weight:800;letter-spacing:-.8px;line-height:1.15}.brand-text small{font-size:11px;font-weight:500;letter-spacing:1.3px;color:#767b80;line-height:1.5}nav{display:flex;align-items:center;gap:32px;font-size:14px;font-weight:600}.nav-contact{border:1px solid var(--line);border-radius:10px;background:var(--soft);padding:9px 15px}.nav-contact span{margin-left:17px}.eyebrow{font-size:11px;line-height:1.5;letter-spacing:.16em;font-weight:700;color:var(--muted)}.hero{display:grid;grid-template-columns:1.15fr 1fr;gap:46px 75px;padding-top:62px}.hero-copy{align-self:center;padding-block:15px 30px}.hero-copy .eyebrow{margin-bottom:25px}h1{font-size:clamp(44px,5vw,65px);line-height:1.31;font-weight:750}.accent-dot{color:var(--accent)}.hero-description{font-size:16px;color:var(--muted);margin-top:26px;line-height:1.9;letter-spacing:-.025em}.hero-actions{display:flex;flex-wrap:wrap;gap:22px;align-items:center;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;font-size:14px;font-weight:600;padding:17px 23px;min-height:56px;border-radius:11px;transition:background .2s,transform .2s}.button-dark{color:#fff;background:var(--accent)}.button-dark:hover{background:#a63a3e;transform:translateY(-2px)}.text-link{display:inline-flex;align-items:center;gap:22px;font-size:14px;font-weight:600;padding-block:8px;border-bottom:1px solid var(--line);white-space:nowrap}.text-link:hover{border-color:var(--accent);color:var(--accent)}.hero-panel{min-height:525px;border:1px solid var(--line);border-radius:20px;background:var(--soft);display:flex;flex-direction:column;align-items:center;padding:27px 31px 24px;overflow:hidden}.panel-heading{display:flex;width:100%;justify-content:space-between;align-items:center;font-size:10px;font-weight:600;letter-spacing:1.5px;color:var(--muted)}.panel-dot{width:7px;height:7px;background:var(--logo-dot);border-radius:50%}.panel-mark{display:flex;align-items:center;justify-content:center;background:var(--ink);border-radius:32px;width:151px;height:151px;color:white;font-size:114px;font-weight:800;letter-spacing:-7px;line-height:1;padding-bottom:14px;margin-top:48px;box-shadow:0 13px 28px #2325290d;transform:rotate(-5deg)}.panel-mark>span{color:var(--logo-dot)}.panel-message{text-align:center;font-size:27px;font-weight:700;line-height:1.4;letter-spacing:-.04em;margin-top:33px}.panel-message>span{color:var(--accent)}.panel-foot{display:flex;width:100%;gap:18px;justify-content:center;font-size:9px;font-weight:500;letter-spacing:.12em;color:var(--muted);border-top:1px solid var(--line);padding-top:18px;margin-top:auto}.hero-foot{grid-column:1/-1;display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:26px;font-size:10px;letter-spacing:.12em;color:var(--muted)}.hero-foot span:last-child{font-size:11px;letter-spacing:0}.hero-foot span:last-child span{margin-left:35px}.services{padding-top:105px;padding-bottom:78px}.section-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:43px}.section-intro h2{margin-top:17px}.section-intro>p{font-size:15px;line-height:1.85;color:var(--muted);padding-bottom:5px;min-width:270px}.service-list{border-top:2px solid var(--ink)}.service{display:grid;grid-template-columns:50px 1.1fr 1fr 40px;align-items:center;gap:24px;padding:30px 12px 31px 2px;border-bottom:1px solid var(--line);transition:background .2s,padding .2s}.service:hover{background:var(--soft);padding-left:15px;padding-right:18px}.service-number{align-self:start;font-size:11px;letter-spacing:.05em;padding-top:6px;color:var(--accent);font-variant-numeric:tabular-nums;font-weight:600}.service-english{font-size:10px;letter-spacing:.12em;font-weight:600;color:var(--muted)}.service h3{font-size:27px;font-weight:700;letter-spacing:-.04em;margin-top:3px}.service-description p{font-size:14px;color:var(--muted);word-break:keep-all}.service-description>span{display:block;font-size:12px;color:var(--accent);margin-top:8px}.service-arrow{font-size:26px;font-weight:400;justify-self:end;transition:transform .2s}.service:hover .service-arrow{transform:translate(3px,-3px);color:var(--accent)}.service-help{font-size:12px;color:var(--muted);margin-top:19px}.journal{display:grid;grid-template-columns:.7fr 1.5fr auto;align-items:center;gap:28px;border:1px solid var(--line);border-radius:16px;padding:39px 40px;margin-bottom:90px;background:#fff}.journal-label{align-self:stretch;display:flex;flex-direction:column;justify-content:space-between;gap:16px}.journal-symbol{font-size:54px;font-weight:800;letter-spacing:-4px;line-height:1}.journal-symbol>span{color:var(--logo-dot)}.journal h2{font-size:28px;line-height:1.45;letter-spacing:-.045em}.journal-copy>p{font-size:14px;color:var(--muted);margin-top:15px}.journal>.text-link{align-self:end}.contact{background:var(--soft);border-block:1px solid var(--line);padding-block:70px}.contact-inner{display:flex;justify-content:space-between;align-items:center;gap:38px}.contact .eyebrow{margin-bottom:21px}.contact h2{font-size:clamp(31px,3.5vw,46px);line-height:1.4;font-weight:750}.contact-description{margin-top:21px;font-size:15px;line-height:1.9;color:var(--muted)}.contact-action{display:flex;flex-direction:column;gap:13px;min-width:258px;align-items:stretch}.button-light{background:var(--ink);color:#fff}.button-light:hover{background:#3f4145;transform:translateY(-2px)}.contact-action>span{text-align:center;font-size:11px;color:var(--muted);letter-spacing:.015em}.site-footer{display:flex;justify-content:space-between;align-items:flex-end;padding-block:39px 35px}.site-footer .brand-icon{min-width:37px;height:37px;border-radius:11px;font-size:29px}.site-footer .brand-text strong{font-size:18px}.site-footer .brand-text small{font-size:10px}.site-footer>div>p{font-size:12px;color:var(--muted);margin-top:17px}.footer-note{font-size:9px;line-height:1.9;letter-spacing:.08em;text-align:right;color:var(--muted)}.mobile-break{display:none}
@media(max-width:1050px){.wrap{width:calc(100% - 72px)}.hero{gap:38px}.hero-panel{min-height:505px;padding-inline:25px}.hero-actions{gap:17px}.hero-description{font-size:15px}.button{gap:22px;padding:16px 20px}.panel-message{font-size:25px}.service{grid-template-columns:33px 1fr 1.1fr 28px;gap:18px}.service-description p{font-size:13px}.journal{grid-template-columns:.6fr 1.4fr;gap:23px;padding:32px}.journal>.text-link{grid-column:2;justify-self:start}.contact-action{min-width:235px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.site-header{height:87px}.brand-lockup{gap:9px}.brand-icon{min-width:38px;height:38px;border-radius:11px;font-size:29px}.brand-text strong{font-size:18px}.brand-text small{font-size:10px;letter-spacing:.8px}nav{font-size:12px;gap:17px}.nav-contact{padding:8px 11px}.nav-contact span{margin-left:7px}.hero{display:flex;flex-direction:column;gap:29px;padding-top:40px}.hero-copy{padding:0}.hero-copy .eyebrow{font-size:10px;margin-bottom:23px}h1{font-size:clamp(43px,8.3vw,60px);line-height:1.29}.hero-description{margin-top:22px;font-size:15px;line-height:1.9}.hero-actions{margin-top:25px;gap:17px 24px}.button{min-height:55px;padding:15px 19px;font-size:13px}.text-link{font-size:12px;gap:17px}.hero-panel{min-height:0;height:323px;padding:21px 24px 18px;margin-top:4px;border-radius:16px;position:relative;align-items:flex-start}.panel-heading{font-size:9px;letter-spacing:1.2px}.panel-mark{width:101px;height:101px;font-size:77px;letter-spacing:-5px;border-radius:24px;padding-bottom:9px;margin-top:41px;margin-left:7px}.panel-message{position:absolute;text-align:left;font-size:24px;left:46%;top:101px;margin:0;line-height:1.45}.panel-foot{font-size:8px;padding-top:17px;gap:22px}.hero-foot{font-size:8px;padding-bottom:20px;gap:20px}.hero-foot span:last-child{font-size:9px}.hero-foot span:last-child span{margin-left:13px}.services{padding-top:65px;padding-bottom:52px}.section-intro{display:block;margin-bottom:29px}.section-intro h2{font-size:32px;line-height:1.4;margin-top:16px}.section-intro>p{margin-top:21px;font-size:14px;min-width:0}.section-intro>p br:last-child{display:none}.service{grid-template-columns:27px 1fr 23px;gap:12px;padding:24px 0}.service-number{grid-column:1;grid-row:1/3;padding-top:3px;font-size:10px}.service-title{grid-column:2}.service-english{font-size:9px;letter-spacing:.12em}.service h3{font-size:25px;margin-top:3px}.service-description{grid-column:2;grid-row:2}.service-description p{font-size:13px}.service-description>span{font-size:11px;margin-top:6px}.service-arrow{grid-column:3;grid-row:1/3;font-size:24px;align-self:center}.service:hover{padding-left:7px;padding-right:7px}.service-help{font-size:11px;word-break:keep-all}.journal{grid-template-columns:1fr;padding:27px;margin-bottom:58px;gap:22px}.journal-label{flex-direction:row;align-items:center}.journal-label .eyebrow{font-size:10px}.journal-symbol{font-size:34px;letter-spacing:-2px}.journal h2{font-size:28px}.journal-copy>p{font-size:13px;margin-top:13px;word-break:keep-all}.journal>.text-link{grid-column:1}.contact{padding-block:48px}.contact-inner{display:block}.contact h2{font-size:34px;line-height:1.4}.contact .eyebrow{font-size:10px;margin-bottom:19px}.contact-description{font-size:13px;line-height:1.9;margin-top:20px;word-break:keep-all}.contact-action{margin-top:30px;min-width:0;align-items:flex-start;gap:12px}.contact-action .button{min-width:250px}.contact-action>span{font-size:10px}.site-footer{padding-block:31px;gap:18px}.site-footer>div>p{font-size:10px;word-break:keep-all;margin-top:15px}.footer-note{font-size:8px;flex-shrink:0}.mobile-break{display:block}}
@media(max-width:370px){.wrap{width:calc(100% - 32px)}nav{gap:11px}.nav-contact{padding:7px 9px}.brand-text strong{font-size:17px}.brand-text small{font-size:9px}h1{font-size:42px}.hero-actions{align-items:flex-start;flex-direction:column;gap:10px}.hero-panel{height:295px}.panel-message{font-size:21px;left:47%;top:100px}.hero-foot span:last-child{max-width:115px;text-align:right}.hero-foot span:last-child span{margin-left:3px}.contact h2{font-size:31px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
