@import url("https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,700;1,400;1,700&family=Inter:wght@300;400;500;600;700&display=swap");@font-face{font-family:GyeonggiMillenniumBackground;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/2410-3@1.0/Batang_Regular.woff) format("woff");font-weight:400;font-display:swap}@font-face{font-family:GyeonggiMillenniumBackground;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/2410-3@1.0/Batang_Bold.woff) format("woff");font-weight:700;font-display:swap}@font-face{font-family:GyeonggiBatang;src:url(https://fastly.jsdelivr.net/gh/projectnoonnu/noonfonts_one@1.0/GyeonggiBatang.woff) format("woff");font-weight:400;font-style:normal}@font-face{font-family:MapoFlowerIsland;src:url(https://fastly.jsdelivr.net/gh/projectnoonnu/noonfonts_2001@1.1/MapoFlowerIslandA.woff) format("woff");font-weight:400;font-style:normal}@font-face{font-family:GyeonggiCheonnyeonBatang;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/2410-3@1.0/Batang_Regular.woff) format("woff");font-weight:400;font-display:swap}@font-face{font-family:GyeonggiCheonnyeonBatang;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/2410-3@1.0/Batang_Bold.woff) format("woff");font-weight:700;font-display:swap}:root{--color-bg:#F5F3EF;--color-surface:#FFFFFF;--color-text:#1B1C1E;--color-text-secondary:#6B7280;--color-primary:#2D6A4F;--color-primary-light:#52B788;--color-primary-dark:#1B4332;--color-primary-pale:#EBFBEE;--color-accent:#CCFF33;--color-border:#E5E7EB;--color-danger:#DC2626;--color-warning:#F59E0B;--landing-sage:#F5F0E8;--landing-dark:#1B1C1E;--landing-green-pill:#51733F;--landing-cream:#F5F5EB;--font-serif:"Playfair Display",Georgia,serif;--font-page-title:"GyeonggiCheonnyeonBatang",var(--font-serif);--font-sans:"Inter",-apple-system,BlinkMacSystemFont,sans-serif;--radius-sm:6px;--radius-md:12px;--radius-lg:24px;--radius-pill:999px;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--shadow-sm:0 1px 3px rgba(0,0,0,0.06);--shadow-md:0 4px 12px rgba(0,0,0,0.08);--shadow-lg:0 12px 40px rgba(0,0,0,0.08);--transition-fast:0.2s ease;--transition-base:0.3s ease;--bp-sm:480px;--bp-md:768px;--bp-lg:1024px;--bp-xl:1280px;--header-height-desktop:80px;--header-height-mobile:56px;--bottom-nav-height:60px;--touch-target-min:44px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%}body,html{overflow-x:clip}body{font-family:var(--font-sans);color:var(--color-text);line-height:1.6;background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;word-break:keep-all;overflow-wrap:break-word}canvas,img,picture,svg,video{display:block;max-width:100%}button,input,select,textarea{font:inherit;font-size:16px}a{color:inherit;text-decoration:none}ol,ul{list-style:none}h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}.italic{font-style:italic}.title-display{font-size:64px;line-height:1.1;letter-spacing:-.02em}.title-display,.title-section{font-family:var(--font-serif);font-weight:400}.title-section{font-size:42px;line-height:1.2;margin-bottom:var(--space-xl)}.text-body{font-size:16px;line-height:1.7}.text-body,.text-small{color:var(--color-text-secondary)}.text-small{font-size:14px}.text-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-secondary)}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:var(--space-xl);gap:var(--space-xl)}.grid-3{grid-template-columns:repeat(3,1fr);grid-gap:var(--space-lg)}.grid-3,.grid-4{display:grid;gap:var(--space-lg)}.grid-4{grid-template-columns:repeat(4,1fr);grid-gap:var(--space-lg)}.mb-8{margin-bottom:8px}.mb-16{margin-bottom:16px}.mb-24{margin-bottom:24px}.mb-32{margin-bottom:32px}.mb-48{margin-bottom:48px}.flex{display:flex}.flex-wrap{flex-wrap:wrap}.gap-8{gap:8px}.gap-16{gap:16px}.page{max-width:1280px;margin:0 auto;padding:48px 48px 80px}.page-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid var(--color-border)}.page-title,.pageTitle{font-family:"GyeonggiCheonnyeonBatang",var(--font-serif)!important;font-size:40px;color:var(--color-text)!important;line-height:1.15;margin-bottom:8px;font-weight:400!important}.headerTitle h1 em,.page-title em,.pageTitle em{font-style:italic!important;font-weight:400!important;color:var(--color-text)!important;-webkit-text-decoration:underline wavy olive!important;text-decoration:underline wavy olive!important;-webkit-text-decoration-color:olive!important;text-decoration-color:olive!important;text-underline-offset:8px!important}.page-sub{font-size:16px;max-width:600px;line-height:1.7}.breadcrumb,.page-sub{color:var(--color-text-secondary)}.breadcrumb{font-size:13px;margin-bottom:12px}.breadcrumb a{color:var(--color-text-secondary);text-decoration:none}.breadcrumb a:hover{color:var(--color-primary);text-decoration:underline}.mobile-only{display:none}.desktop-only{display:initial}@media (max-width:768px){[role=button],a.btn,button,input[type=button],input[type=submit]{min-height:var(--touch-target-min)}.mobile-only{display:initial}.desktop-only{display:none}}.safe-area-top{padding-top:env(safe-area-inset-top)}.safe-area-bottom{padding-bottom:env(safe-area-inset-bottom)}.safe-area-x{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}@media (max-width:768px){body{padding-bottom:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom))}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.title-display{font-size:36px}.title-section{font-size:28px}.page{padding:24px 16px 48px}.page-title,.pageTitle{font-size:28px}.page-header{margin-bottom:24px}}@media (max-width:480px){.title-display{font-size:28px}.page-title,.pageTitle,.title-section{font-size:24px}.page{padding:16px 12px 40px}}@media (max-width:768px){::-webkit-scrollbar{width:0;background:transparent}}@media (max-width:768px){#portone-ui-container,body>div[style*="position: fixed"][style*=z-index],body>div[style*="position:fixed"][style*=z-index]{max-width:100vw!important;overflow:hidden!important}#portone-ui-container iframe,body>div[style*="position: fixed"][style*=z-index] iframe,body>div[style*="position:fixed"][style*=z-index] iframe{max-width:100vw!important;width:100vw!important}}