@font-face { font-family: "Pretendard"; src: url("./fonts/Pretendard-Regular.ttf") format("truetype"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Pretendard"; src: url("./fonts/Pretendard-SemiBold.ttf") format("truetype"); font-weight: 600; font-display: swap; }
@font-face { font-family: "Pretendard"; src: url("./fonts/Pretendard-Bold.ttf") format("truetype"); font-weight: 700; font-display: swap; }
@font-face { font-family: "Pretendard"; src: url("./fonts/Pretendard-ExtraBold.ttf") format("truetype"); font-weight: 800; font-display: swap; }
:root { --ink:#111; --body:#4f4f4f; --muted:#858585; --line:#dedede; --canvas:#f5f5f3; --white:#fff; --tendy:#e6002d; --study:#1e1b67; --kata:#149da2; --gutter:clamp(20px,5vw,72px); --max-width:1380px; --font-sans:"Pretendard",-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR","Segoe UI",sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { min-width:320px; margin:0; overflow-x:hidden; color:var(--ink); background:var(--canvas); font-family:var(--font-sans); font-size:18px; line-height:1.6; word-break:keep-all; -webkit-font-smoothing:antialiased; }
a { color:inherit; }
.skip-link { position:fixed; z-index:50; top:8px; left:8px; padding:10px 14px; color:var(--white); background:var(--ink); transform:translateY(-150%); }
.skip-link:focus { transform:translateY(0); }
.site-header { position:relative; z-index:10; height:88px; border-bottom:1px solid var(--line); background:rgba(245,245,243,.96); }
.header-inner { display:flex; width:min(100%,var(--max-width)); height:100%; margin:0 auto; padding:0 var(--gutter); align-items:center; justify-content:space-between; }
.brand,.footer-logo { color:var(--ink); font-size:30px; font-weight:800; line-height:1; letter-spacing:-.08em; text-decoration:none; }
.desktop-nav,.header-actions,.language-switcher,.mobile-locale { display:flex; align-items:center; }
.desktop-nav { gap:clamp(22px,3vw,48px); }
.desktop-nav a,.mobile-menu nav a { color:var(--body); font-size:15px; font-weight:600; text-decoration:none; }
.desktop-nav a:hover,.mobile-menu nav a:hover { color:var(--ink); }
.header-actions { gap:28px; }
.language-switcher { gap:7px; color:var(--muted); font-size:12px; font-weight:700; letter-spacing:.08em; }
.language-switcher button,.mobile-locale button { padding:0; border:0; color:var(--muted); background:transparent; font:inherit; letter-spacing:inherit; cursor:pointer; }
.language-switcher button[aria-pressed="true"],.mobile-locale button[aria-pressed="true"] { color:var(--ink); }
.mobile-menu { display:none; }
.hero { display:flex; min-height:min(780px,calc(100svh - 88px)); padding:clamp(82px,11vw,150px) var(--gutter) clamp(96px,12vw,170px); align-items:center; background:var(--canvas); }
.hero-inner,.section-intro,.products,.about-inner,.contact-inner,.footer-inner { width:min(100%,var(--max-width)); margin:0 auto; }
.hero-inner { width:min(100%,1180px); }
.eyebrow,.section-label,.product-type,.product-number,.visual-topline,.founded { margin:0; color:var(--muted); font-size:12px; font-weight:800; letter-spacing:.13em; line-height:1.4; }
.eyebrow { color:var(--ink); }
.hero h1 { max-width:920px; margin:28px 0 0; font-size:clamp(58px,8.7vw,124px); font-weight:800; line-height:1.08; letter-spacing:-.075em; }
.hero-description { margin:38px 0 0; color:var(--body); font-size:clamp(19px,1.8vw,26px); line-height:1.6; }
.text-link { display:inline-flex; margin-top:46px; padding-bottom:8px; border-bottom:1px solid var(--ink); gap:22px; font-size:16px; font-weight:700; text-decoration:none; }
.products { padding:clamp(88px,11vw,160px) var(--gutter); }
.section-intro { padding-bottom:clamp(52px,7vw,96px); }
.section-intro h2,.about h2,.contact h2 { margin:24px 0 0; font-size:clamp(48px,7vw,96px); font-weight:800; line-height:1.08; letter-spacing:-.075em; }
.product { display:grid; min-height:680px; margin:0 calc(var(--gutter) * -1); padding:clamp(46px,7vw,92px) var(--gutter); grid-template-columns:minmax(0,5fr) minmax(0,7fr); align-items:center; gap:clamp(36px,7vw,120px); }
.product + .product { margin-top:20px; }
.product-studyfriends { grid-template-columns:minmax(0,7fr) minmax(0,5fr); color:var(--white); background:var(--ink); }
.product-studyfriends .product-copy { order:2; }.product-studyfriends .product-visual { order:1; }.product-katago { background:#e7f2f0; }
.product-copy { max-width:600px; }.product-number { color:currentColor; opacity:.58; }.product-type { margin-top:26px; color:currentColor; opacity:.58; }
.product h3 { margin:18px 0 0; font-size:clamp(42px,5.4vw,78px); font-weight:800; line-height:1.05; letter-spacing:-.075em; }
.product h3 span { color:var(--tendy); font-size:.55em; letter-spacing:-.04em; }
.product-tagline { margin:34px 0 0; font-size:clamp(28px,3.1vw,48px); font-weight:800; line-height:1.18; letter-spacing:-.06em; }
.product-description { max-width:520px; margin:28px 0 0; color:var(--body); font-size:clamp(18px,1.45vw,22px); line-height:1.65; }
.product-studyfriends .product-description { color:#c9c9c9; }
.product-links { display:flex; margin-top:36px; align-items:center; gap:18px; flex-wrap:wrap; }
.link-button { display:inline-flex; min-height:48px; padding:12px 16px; align-items:center; gap:22px; font-size:14px; font-weight:700; text-decoration:none; }
.link-button-dark { color:var(--white); background:var(--ink); }.link-button-light { color:var(--ink); background:var(--white); }.link-button[aria-disabled="true"] { opacity:.45; pointer-events:none; }
.store-link { color:currentColor; font-size:14px; font-weight:700; text-decoration:underline; text-underline-offset:4px; }
.product-visual { position:relative; display:flex; min-height:470px; padding:clamp(24px,4vw,48px); align-items:center; justify-content:center; flex-direction:column; overflow:hidden; }
.visual-tendy { color:var(--white); background:var(--tendy); }.visual-studyfriends { color:var(--white); background:var(--study); }.visual-katago { color:var(--ink); background:var(--kata); }
.visual-topline { position:absolute; top:28px; right:32px; left:32px; display:flex; color:currentColor; justify-content:space-between; opacity:.76; }
.product-visual img { display:block; width:clamp(150px,18vw,250px); height:clamp(150px,18vw,250px); object-fit:contain; }.visual-tendy img,.visual-studyfriends img,.visual-katago img { border-radius:24%; }
.product-visual p { margin:28px 0 0; font-size:clamp(19px,2vw,28px); font-weight:700; letter-spacing:-.04em; }
.about { padding:clamp(96px,12vw,170px) var(--gutter); color:var(--white); background:var(--ink); }
.about-inner { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr); gap:clamp(48px,10vw,160px); }.about h2 { margin-top:28px; }.about-copy { align-self:end; }
.about-lead { margin:0; font-size:clamp(24px,2.4vw,36px); font-weight:700; line-height:1.35; letter-spacing:-.05em; }.about-copy > p:not(.about-lead):not(.founded) { margin:28px 0 0; color:#bdbdbd; font-size:19px; line-height:1.65; }
.capabilities { display:flex; margin-top:46px; padding-top:18px; border-top:1px solid #3a3a3a; gap:28px; }.capabilities span { font-size:15px; font-weight:700; }.founded { margin-top:42px; color:#818181; }
.contact { padding:clamp(96px,12vw,170px) var(--gutter); background:var(--white); }.contact-inner { text-align:center; }.contact h2 { margin-right:auto; margin-left:auto; }.contact-email { display:inline-flex; margin-top:44px; padding-bottom:10px; border-bottom:2px solid var(--ink); gap:28px; font-size:clamp(20px,2vw,28px); font-weight:700; text-decoration:none; }
.site-footer { padding:72px var(--gutter) 32px; color:var(--white); background:#202020; }.footer-inner { display:grid; grid-template-columns:minmax(260px,1.7fr) minmax(130px,.7fr) minmax(160px,.8fr); gap:44px; }.footer-logo { color:var(--white); }.footer-brand p { margin:22px 0 0; color:#aaa; font-size:16px; }.footer-column { display:flex; flex-direction:column; align-items:flex-start; gap:11px; }.footer-column h2 { margin:0 0 8px; color:#888; font-size:12px; letter-spacing:.12em; }.footer-column a { color:var(--white); font-size:14px; font-weight:600; text-decoration:none; }.footer-column a:hover { color:#d5d5d5; }.footer-company { display:grid; padding-top:28px; border-top:1px solid #3a3a3a; grid-column:1 / -1; gap:7px; }.footer-company p { display:flex; margin:0; color:#8e8e8e; font-size:13px; line-height:1.6; flex-wrap:wrap; gap:6px 18px; }.footer-company strong { color:#d5d5d5; }
a:focus-visible,button:focus-visible,summary:focus-visible { outline:3px solid #4d7cff; outline-offset:4px; }
@media (max-width:760px) {
  .site-header { height:76px; }.brand { font-size:26px; }.desktop-nav,.header-actions > .language-switcher { display:none; }.mobile-menu { position:relative; display:block; }.mobile-menu summary { padding:9px 12px; border:1px solid var(--line); color:var(--ink); background:var(--white); font-size:13px; font-weight:700; cursor:pointer; list-style:none; }.mobile-menu summary::-webkit-details-marker { display:none; }.mobile-menu nav { position:absolute; top:46px; right:0; display:grid; min-width:190px; padding:10px; border:1px solid var(--line); background:var(--white); }.mobile-menu nav a { padding:11px 12px; }.mobile-locale { margin:8px 12px 4px; padding-top:12px; border-top:1px solid var(--line); gap:16px; }
  .hero { min-height:0; padding-top:78px; padding-bottom:92px; }.hero h1 { margin-top:22px; font-size:clamp(44px,13vw,64px); line-height:1.12; }.hero-description { margin-top:28px; font-size:19px; line-height:1.62; }.text-link { margin-top:36px; }.products { padding-top:76px; padding-bottom:76px; }.section-intro { padding-bottom:48px; }.section-intro h2,.about h2,.contact h2 { margin-top:20px; font-size:clamp(42px,12vw,62px); line-height:1.14; }
  .product,.product-studyfriends { display:flex; min-height:0; margin-right:calc(var(--gutter) * -1); margin-left:calc(var(--gutter) * -1); padding-top:48px; padding-bottom:54px; flex-direction:column; align-items:stretch; gap:42px; }.product-studyfriends .product-copy,.product-studyfriends .product-visual { order:initial; }.product h3 { font-size:clamp(40px,11vw,58px); line-height:1.08; }.product-tagline { margin-top:28px; font-size:clamp(27px,7.5vw,38px); line-height:1.22; }.product-description { margin-top:22px; font-size:19px; }.product-links { margin-top:28px; gap:14px; }.product-visual { min-height:320px; }.product-visual img { width:150px; height:150px; }.product-visual p { margin-top:22px; font-size:20px; }
  .about { padding-top:82px; padding-bottom:92px; }.about-inner { display:block; }.about-copy { margin-top:56px; }.about-lead { font-size:26px; }.about-copy > p:not(.about-lead):not(.founded) { font-size:19px; }.contact { padding-top:84px; padding-bottom:100px; }.contact-email { margin-top:34px; font-size:20px; }.site-footer { padding-top:58px; }.footer-inner { grid-template-columns:1fr 1fr; gap:40px 22px; }.footer-brand,.footer-company { grid-column:1 / -1; }
}
@media (max-width:380px) { .hero h1 { font-size:42px; }.section-intro h2,.about h2,.contact h2 { font-size:40px; }.footer-inner { grid-template-columns:1fr; }.footer-brand,.footer-company { grid-column:1; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
