*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:1rem;line-height:1.75;-webkit-font-smoothing:antialiased;overflow-x:hidden}h1,h2,h3,h4{font-family:var(--font-heading);line-height:1.25;letter-spacing:-.02em;margin:0 0 .5em;font-weight:700;word-break:keep-all}h1{font-size:clamp(2rem,5.5vw,3.5rem)}h2{font-size:clamp(1.5rem,3.5vw,2.25rem)}h3{font-size:clamp(1.15rem,2vw,1.4rem)}p{margin:0 0 1.15em;word-break:keep-all}a{color:inherit;text-underline-offset:.2em}img,video{max-width:100%;height:auto;display:block}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}.wrap{width:min(100% - 2.5rem,var(--maxw, 68rem));margin-inline:auto}.section{padding-block:clamp(3rem,7vw,5.5rem)}.section--tight{padding-block:clamp(2.25rem,5vw,3.5rem)}.stack>*+*{margin-top:var(--gap, 1rem)}.eyebrow{font-size:.8125rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:600;margin-bottom:.75rem}.lede{font-size:clamp(1.05rem,1.6vw,1.25rem);color:var(--text-muted);max-width:42rem}.site-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--border)}.site-header__inner{display:flex;align-items:center;gap:1.25rem;min-height:4.25rem}.brand{font-family:var(--font-heading);font-weight:700;font-size:1.15rem;text-decoration:none;letter-spacing:-.02em;display:inline-flex;align-items:center;gap:.6rem}.brand__logo{height:2.1rem;width:auto;flex:none}.brand small{display:block;font-family:var(--font-body);font-weight:400;font-size:.7rem;color:var(--text-muted);letter-spacing:.06em}.nav{margin-left:auto;display:flex;gap:1.5rem;align-items:center}.nav a{text-decoration:none;font-size:.9375rem;color:var(--text-muted)}.nav a:hover{color:var(--text)}@media(max-width:46rem){.nav{display:none}.site-header__inner>.btn{margin-left:auto;padding:.65rem 1.1rem;font-size:.875rem}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.8rem 1.5rem;border-radius:var(--radius);font-weight:600;font-size:.9375rem;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.btn--primary{background:var(--accent);color:var(--accent-contrast)}.btn--primary:hover{transform:translateY(-1px);box-shadow:0 8px 22px -8px var(--accent)}.btn--ghost{border-color:var(--border);color:var(--text)}.btn--ghost:hover{background:var(--surface)}.hero{position:relative}.hero h1{white-space:pre-line}.hero__media{position:absolute;inset:0;overflow:hidden}.hero__media img{width:100%;height:100%;object-fit:cover}.hero__scrim{position:absolute;inset:0;background:linear-gradient(180deg,#0000008c,#00000059 45%,#000000b3)}.hero__body{position:static;padding-block:clamp(5rem,16vw,10rem)}.hero__text{position:relative;z-index:1}.hero--image .hero__body{color:#fff}.hero--image .lede{color:#ffffffe0}.hero--image .eyebrow{color:#fffc}.hero--image .btn--ghost{color:#fff;border-color:#ffffff8c}.hero--image .btn--ghost:hover{background:#ffffff1f}.hero__actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}.hero:not(.hero--image){background:var(--surface);border-bottom:1px solid var(--border)}.hero:not(.hero--image) .hero__body{padding-block:clamp(3.5rem,10vw,6.5rem)}[data-layout=editorial] .hero--image{background:var(--surface);border-bottom:1px solid var(--border)}[data-layout=editorial] .hero--image .wrap.hero__body{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:center;padding-block:clamp(3rem,8vw,6rem);color:var(--text)}[data-layout=editorial] .hero--image .hero__media{position:static;order:2;border-radius:var(--radius);aspect-ratio:4 / 5;max-height:34rem;width:100%;justify-self:end}[data-layout=editorial] .hero--image .hero__media[data-fit=natural]{aspect-ratio:auto;max-height:none}[data-layout=editorial] .hero--image .hero__media[data-fit=natural] img{height:auto;object-fit:contain}[data-layout=editorial] .hero--image .hero__scrim{display:none}[data-layout=editorial] .hero--image .lede{color:var(--text-muted)}[data-layout=editorial] .hero--image .eyebrow{color:var(--accent)}[data-layout=editorial] .hero--image .btn--ghost{color:var(--text);border-color:var(--border)}[data-layout=editorial] .hero--image .btn--ghost:hover{background:var(--bg)}[data-layout=editorial] .hero--image .hero__text{order:1}@media(max-width:46rem){[data-layout=editorial] .hero--image .wrap.hero__body{grid-template-columns:1fr}[data-layout=editorial] .hero--image .hero__media{aspect-ratio:4 / 3;max-height:22rem}}[data-layout=editorial] h2{padding-top:1rem;border-top:2px solid var(--text);display:inline-block}[data-layout=editorial] .card{border-radius:0;border-width:0 0 1px;background:transparent}[data-layout=editorial] a.card:hover{box-shadow:none;transform:none}[data-layout=editorial] .card__media{border-radius:var(--radius)}[data-layout=editorial] .card__body{padding-inline:0}[data-layout=showcase] .card__media{aspect-ratio:3 / 2}.grid{display:grid;gap:clamp(1rem,2.5vw,1.75rem)}.grid--3{grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr))}.grid--2{grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr))}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;text-decoration:none;display:flex;flex-direction:column;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}a.card:hover{transform:translateY(-3px);box-shadow:0 14px 34px -18px #00000073;border-color:color-mix(in srgb,var(--accent) 40%,var(--border))}.card__media{aspect-ratio:4 / 3;background:var(--border);overflow:hidden}.card__media img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}a.card:hover .card__media img{transform:scale(1.04)}.card__body{padding:1.25rem 1.35rem 1.5rem}.card__meta{font-size:.8125rem;color:var(--text-muted);display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.4rem}.card__meta span:not(:last-child):after{content:"·";margin-left:.5rem;opacity:.5}.card h3{margin-bottom:.35rem;font-size:1.0625rem}.card p{font-size:.9375rem;color:var(--text-muted);margin:0}.svc{border-top:2px solid var(--accent);padding-top:1.25rem}.svc h3{font-size:1.0625rem}.svc p{font-size:.9375rem;color:var(--text-muted);margin:0}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:1.5rem}.stat__num{font-family:var(--font-heading);font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;color:var(--accent);line-height:1.1}.stat__label{font-size:.875rem;color:var(--text-muted)}.contact{background:var(--surface);border-top:1px solid var(--border)}.form{display:grid;gap:1rem;max-width:34rem}.field{display:grid;gap:.4rem}.field label{font-size:.875rem;font-weight:600}.field input,.field textarea{font:inherit;font-size:.9375rem;padding:.7rem .85rem;border:1px solid var(--border);border-radius:calc(var(--radius) * .6);background:var(--bg);color:var(--text);width:100%}.field textarea{min-height:7rem;resize:vertical}.consent{display:flex;gap:.6rem;align-items:flex-start;font-size:.8125rem;color:var(--text-muted)}.consent input{margin-top:.3rem;flex-shrink:0}.site-footer{border-top:1px solid var(--border);padding-block:2.5rem 3rem;font-size:.8125rem;color:var(--text-muted)}.site-footer .biz{display:grid;gap:.2rem;margin-bottom:1rem}.site-footer a{color:var(--text-muted)}.site-footer .hours{margin:0 0 .5rem;font-size:.8125rem;color:var(--text-muted)}.credit{margin-top:.75rem;font-size:.75rem;opacity:.7}.credit a{text-decoration:none}.credit a:hover{text-decoration:underline}.prose{max-width:44rem}.prose h2{margin-top:2em}.gallery{display:grid;gap:.75rem;grid-template-columns:repeat(2,1fr)}.gallery img{border-radius:var(--radius);width:100%;aspect-ratio:4 / 3;object-fit:cover}.gallery img:first-child{grid-column:1 / -1;aspect-ratio:16 / 10}@media(max-width:46rem){.gallery{grid-template-columns:1fr}}.more{display:flex;justify-content:center;margin-top:2rem}.list{display:grid;gap:clamp(1rem,2.5vw,1.75rem);grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr))}.spec{display:grid;grid-template-columns:auto 1fr;gap:.5rem 1.5rem;font-size:.9375rem;align-items:baseline}.spec dt{color:var(--text-muted)}.spec dd{margin:0;font-weight:600}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;z-index:100;background:var(--accent);color:var(--accent-contrast);padding:.6rem 1rem;border-radius:var(--radius)}.notice{margin:1.5rem 0 0;padding:.85rem 1.1rem;border-radius:var(--radius);border:1px solid var(--border);font-size:.9375rem;max-width:34rem}.notice--ok{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));background:color-mix(in srgb,var(--accent) 10%,var(--surface));font-weight:600}.notice--err{border-color:#d9534f;background:color-mix(in srgb,#d9534f 8%,var(--surface));color:#a33}.demo{display:block;color:inherit;text-decoration:none}.demo__media{aspect-ratio:3 / 2}.demo__media img{object-position:top}.demo__link{display:inline-block;margin-top:.85rem;font-weight:700;color:var(--accent);font-size:.9375rem}.demo__note{margin-top:1.5rem;font-size:.875rem;color:var(--text-muted)}.steps{list-style:none;margin:0;padding:0;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr))}.step{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:start;padding-top:1.25rem;border-top:2px solid var(--accent)}.step__num{font-weight:800;font-size:1.75rem;line-height:1;color:var(--accent);letter-spacing:-.02em}.step h3{font-size:1.0625rem;margin:.1rem 0 .35rem}.step p{margin:0;color:var(--text-muted);font-size:.9375rem}.faq{max-width:46rem}.faq__item{border-top:1px solid var(--border);padding:1rem 0}.faq__item:last-child{border-bottom:1px solid var(--border)}.faq__item summary{cursor:pointer;font-weight:700;font-size:1.0625rem;list-style:none;display:flex;justify-content:space-between;gap:1rem;align-items:baseline}.faq__item summary::-webkit-details-marker{display:none}.faq__item summary:after{content:"+";color:var(--accent);font-weight:400;font-size:1.35rem;line-height:1;flex:none}.faq__item[open] summary:after{content:"−"}.faq__item p{margin:.75rem 0 0;color:var(--text-muted)}.btn--kakao{background:#fee500;color:#191919;border-color:#fee500}.btn--kakao:hover{background:#f2da00;transform:translateY(-1px)}.contact__kakao{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin-top:1.25rem;color:var(--text-muted);font-size:.9375rem}.checks{list-style:none;margin:0;padding:0;display:grid;gap:1.25rem 2rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr))}.check{display:grid;grid-template-columns:auto 1fr;gap:.9rem;align-items:start}.check__mark{width:1.6rem;height:1.6rem;border-radius:50%;background:var(--accent);color:var(--accent-contrast);font-weight:800;font-size:.95rem;display:grid;place-items:center;margin-top:.1rem}.check h3{font-size:1.0625rem;margin:0 0 .3rem}.check p{margin:0;color:var(--text-muted);font-size:.9375rem}.filters{margin-top:1.75rem;display:grid;gap:.6rem}.chips{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.chips__label{font-size:.8125rem;color:var(--text-muted);min-width:2.4rem}.chip{display:inline-flex;gap:.35rem;align-items:baseline;padding:.38rem .8rem;border:1px solid var(--border);border-radius:999px;background:var(--surface);font-size:.875rem;color:var(--text);text-decoration:none;transition:border-color .15s}.chip b{font-weight:600;font-size:.75rem;color:var(--text-muted)}.chip:hover{border-color:var(--accent)}.chip--on{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent)}.chip--on b{color:inherit;opacity:.85}.pager{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:2.5rem;flex-wrap:wrap}.pager__nums{display:flex;gap:.25rem}.pager__nums a,.pager__nums b{display:inline-grid;place-items:center;min-width:2.25rem;height:2.25rem;padding:0 .4rem;border-radius:999px;text-decoration:none;color:var(--text);font-weight:600}.pager__nums a:hover{background:var(--surface)}.pager__nums b{background:var(--accent);color:var(--accent-contrast)}
