@font-face { font-family:SeoulDesign; src:url('/korea/seoul/assets/hotel-shared/fonts/article-sans.woff2') format('woff2'); font-weight:100 900; font-style:normal; font-display:swap; }
html:has(.seoul-design-page) { scrollbar-width:none; }
html:has(.seoul-design-page)::-webkit-scrollbar { display:none; }
body.seoul-design-page { background:#fff; color:#0c1e41; font-family:SeoulDesign,'Noto Sans JP','Yu Gothic',sans-serif; -webkit-font-smoothing:antialiased; }
.d-page { --d:min(1.25px,calc(100vw / 1024)); --blue:#0078ff; --ink:#0c1e41; width:min(100%,1280px); min-height:100vh; margin:0 auto; display:flex; flex-direction:column; }
.d-page * { box-sizing:border-box; }
.d-page h1,.d-page h2,.d-page h3,.d-page p,.d-page figure { margin:0; }
.d-page a { color:inherit; text-decoration:none; }
.d-page button,.d-page input { font:inherit; }
.d-page button { cursor:pointer; }
.d-page [hidden] { display:none!important; }
.d-page a:focus-visible,.d-page button:focus-visible,.d-page input:focus-visible,.d-page textarea:focus-visible { outline:3px solid #005fcc; outline-offset:4px; }
.d-icon { display:inline-block; width:1.2em; height:1.2em; vertical-align:middle; flex:none; }
.d-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.d-header { height:calc(113 * var(--d)); flex:none; background:#fff; position:relative; }
.d-header-top { height:calc(66 * var(--d)); margin:0 calc(48 * var(--d)); position:relative; border-bottom:1px solid #e0eafa; }
.d-brand { display:inline-flex; align-items:baseline; gap:calc(8 * var(--d)); white-space:nowrap; font-weight:800; line-height:1.5; letter-spacing:calc(-.8 * var(--d)); }
.d-header .d-brand { position:absolute; top:calc(3 * var(--d)); left:0; }
.d-brand b { color:var(--blue); font-size:calc(40 * var(--d)); font-weight:900; letter-spacing:calc(-4.8 * var(--d)); }
.d-brand span { position:relative; top:calc(-4 * var(--d)); font-size:calc(21 * var(--d)); font-weight:800; letter-spacing:calc(-.65 * var(--d)); }
.d-parent { position:absolute; right:0; top:calc(19 * var(--d)); display:flex; gap:calc(7 * var(--d)); align-items:center; color:var(--blue)!important; font-size:calc(17 * var(--d)); font-weight:500; }
.d-parent .d-icon { width:calc(16 * var(--d)); height:calc(16 * var(--d)); }
.d-nav { position:relative; height:calc(47 * var(--d)); }
.d-nav a { position:absolute; top:0; display:flex; align-items:center; justify-content:center; height:calc(47 * var(--d)); border-bottom:calc(3 * var(--d)) solid transparent; font-size:calc(17 * var(--d)); font-weight:700; letter-spacing:-.04em; white-space:nowrap; }
.d-nav a:nth-child(1) { left:calc(52 * var(--d)); width:calc(66 * var(--d)); }
.d-nav a:nth-child(2) { left:calc(144 * var(--d)); width:calc(114 * var(--d)); }
.d-nav a:nth-child(3) { left:calc(276 * var(--d)); width:calc(94 * var(--d)); }
.d-nav a:nth-child(4) { left:calc(394 * var(--d)); width:calc(65 * var(--d)); }
.d-nav a:nth-child(5) { left:calc(481 * var(--d)); width:calc(98 * var(--d)); }
.d-nav a[aria-current] { color:var(--blue); border-color:var(--blue); }
.d-main { width:100%; flex:1 0 auto; }
.d-hero { position:relative; background:linear-gradient(105deg,#eaf5ff,#e7f4ff); }
.d-eyebrow { font-size:calc(13 * var(--d)); line-height:calc(20 * var(--d)); letter-spacing:calc(3.5 * var(--d)); color:var(--blue); font-weight:500; }
.d-art { display:block; position:relative; overflow:hidden; }
.d-art img { position:absolute; max-width:none; height:auto; display:block; }
.d-button { display:inline-flex; align-items:center; justify-content:center; gap:calc(11 * var(--d)); min-width:0; padding:0 calc(22 * var(--d)); border:calc(1.7 * var(--d)) solid var(--blue); border-radius:calc(40 * var(--d)); font-size:calc(21 * var(--d)); line-height:1.2; font-weight:800; white-space:nowrap; }
.d-primary { background:var(--blue); color:#fff!important; }
.d-outline { background:#fff; color:var(--blue)!important; }
.d-button .d-icon { width:calc(24 * var(--d)); height:calc(24 * var(--d)); }
.d-home-hero { height:calc(545 * var(--d)); }
.d-home-copy { position:absolute; left:calc(48 * var(--d)); top:calc(100 * var(--d)); width:calc(356 * var(--d)); }
.d-home-copy h1 { margin-top:calc(18 * var(--d)); font-size:calc(50 * var(--d)); line-height:calc(65 * var(--d)); font-weight:900; letter-spacing:-.065em; white-space:nowrap; }
.d-home-copy h1 span { display:block; transform-origin:left top; }
.d-home-copy h1 span:first-child { transform:translateY(calc(-2 * var(--d))) scaleX(1.085); }
.d-home-copy h1 span:last-child { transform:translate(calc(1 * var(--d)),calc(-2 * var(--d))) scaleX(1.0525); }
.d-home-copy .d-hero-description { margin-top:calc(17 * var(--d)); font-size:calc(23.5 * var(--d)); line-height:calc(35 * var(--d)); letter-spacing:-.025em; }
.d-home-copy .d-button { margin-top:calc(29 * var(--d)); width:calc(289 * var(--d)); height:calc(62 * var(--d)); font-size:calc(20 * var(--d)); }
.d-home-figure { position:absolute; left:calc(404 * var(--d)); top:calc(26 * var(--d)); width:calc(584 * var(--d)); }
.d-home-figure .d-art { width:100%; height:calc(487 * var(--d)); border-radius:calc(16 * var(--d)); }
.d-home-figure figcaption,.d-list-figure figcaption { text-align:right; margin-top:calc(5 * var(--d)); padding-right:calc(2 * var(--d)); font-size:calc(12 * var(--d)); line-height:calc(20 * var(--d)); color:#385074; }
.d-explore { height:calc(476 * var(--d)); position:relative; }
.d-explore > .d-eyebrow { position:absolute; left:calc(48 * var(--d)); top:calc(31 * var(--d)); }
.d-explore > h2 { position:absolute; left:calc(48 * var(--d)); top:calc(55 * var(--d)); font-size:calc(42 * var(--d)); line-height:calc(62 * var(--d)); letter-spacing:-.045em; font-weight:900; transform:translateY(calc(-5 * var(--d))) scaleX(1.0251); transform-origin:left top; }
.d-category-grid { position:absolute; top:calc(132 * var(--d)); left:calc(40 * var(--d)); width:calc(947 * var(--d)); height:calc(310 * var(--d)); display:grid; grid-template-columns:calc(321 * var(--d)) calc(321 * var(--d)) calc(305 * var(--d)); gap:0; }
.d-category:nth-child(1) { width:calc(304 * var(--d)); }
.d-category:nth-child(2) { width:calc(303 * var(--d)); }
.d-category:nth-child(3) { width:calc(305 * var(--d)); }
.d-category { display:block; min-width:0; border-radius:calc(12 * var(--d)); overflow:hidden; background:#fff; box-shadow:0 calc(3 * var(--d)) calc(8 * var(--d)) #294c7620; }
.d-category > .d-art { width:100%; height:calc(219 * var(--d)); }
.d-category-copy { position:relative; height:calc(91 * var(--d)); padding:calc(14 * var(--d)) calc(22 * var(--d)); }
.d-category h3 { font-size:calc(25 * var(--d)); font-weight:800; line-height:calc(34 * var(--d)); letter-spacing:-.02em; }
.d-category p { color:#506481; font-size:calc(18 * var(--d)); line-height:calc(27 * var(--d)); }
.d-circle { display:flex; align-items:center; justify-content:center; width:calc(37 * var(--d)); height:calc(37 * var(--d)); border:calc(1.7 * var(--d)) solid var(--blue); border-radius:50%; color:var(--blue); }
.d-circle .d-icon { width:calc(23 * var(--d)); height:calc(23 * var(--d)); }
.d-category .d-circle { position:absolute; right:calc(22 * var(--d)); top:calc(28 * var(--d)); }
.d-home-plan-section { height:calc(314 * var(--d)); }
.d-plan-promo { position:relative; margin-left:calc(33 * var(--d)); width:calc(958 * var(--d)); height:calc(278 * var(--d)); border-radius:calc(16 * var(--d)); overflow:hidden; background:#edf7ff; }
.d-plan-promo-art { position:absolute; left:0; top:0; width:calc(478 * var(--d)); height:100%; }
.d-plan-promo-copy { position:absolute; top:calc(44 * var(--d)); left:calc(487 * var(--d)); }
.d-plan-promo-copy h2 { font-size:calc(34 * var(--d)); line-height:calc(49 * var(--d)); letter-spacing:-.045em; font-weight:900; white-space:nowrap; transform:scale(1.0231,1.03125); transform-origin:left top; }
.d-plan-promo-copy > p { margin-top:calc(17 * var(--d)); font-size:calc(22 * var(--d)); line-height:calc(34 * var(--d)); letter-spacing:-.03em; }
.d-plan-promo-copy .d-button { margin-top:calc(18 * var(--d)); width:calc(257 * var(--d)); height:calc(54 * var(--d)); font-size:calc(20 * var(--d)); }
.d-plan-promo-copy small { display:flex; align-items:center; margin-top:calc(11 * var(--d)); font-size:calc(16 * var(--d)); line-height:calc(24 * var(--d)); color:#506481; }
.d-plan-promo-copy small .d-icon { width:calc(20 * var(--d)); height:calc(20 * var(--d)); }
.d-footer { height:calc(88 * var(--d)); position:relative; border-top:1px solid #dfe9f7; flex:none; background:#fff; }
.d-brand-footer { position:absolute; left:calc(42 * var(--d)); top:calc(11 * var(--d)); gap:calc(5 * var(--d)); }
.d-brand-footer b { font-size:calc(28 * var(--d)); letter-spacing:-.06em; }
.d-brand-footer span { top:0; font-size:calc(16 * var(--d)); letter-spacing:-.035em; }
.d-footer nav { position:absolute; left:calc(375 * var(--d)); top:calc(28 * var(--d)); display:flex; gap:calc(32 * var(--d)); align-items:center; font-size:calc(12 * var(--d)); line-height:calc(20 * var(--d)); white-space:nowrap; }
.d-footer > small { position:absolute; right:calc(41 * var(--d)); top:calc(28 * var(--d)); font-size:calc(12 * var(--d)); line-height:calc(20 * var(--d)); white-space:nowrap; }
.d-breadcrumbs { position:absolute; top:calc(32 * var(--d)); left:calc(50 * var(--d)); font-size:calc(14 * var(--d)); line-height:calc(24 * var(--d)); color:#32496c; }
.d-breadcrumbs ol { display:flex; gap:calc(12 * var(--d)); margin:0; padding:0; list-style:none; }
.d-breadcrumbs li + li::before { content:'›'; margin-right:calc(12 * var(--d)); }
.d-breadcrumbs a { color:var(--blue); }
.seoul-design-sightseeing { --list-height:499; --photo-left:406; --photo-top:60; --photo-width:581; --photo-height:403; }
.seoul-design-restaurant { --list-height:467; --photo-left:410; --photo-top:47; --photo-width:575; --photo-height:383; }
.seoul-design-hotel { --list-height:483; --photo-left:406; --photo-top:26; --photo-width:581; --photo-height:426; }
.d-list-hero { height:calc(var(--list-height) * var(--d)); }
.d-list-figure { position:absolute; top:calc(var(--photo-top) * var(--d)); left:calc(var(--photo-left) * var(--d)); width:calc(var(--photo-width) * var(--d)); }
.d-list-figure > .d-art { width:100%; height:calc(var(--photo-height) * var(--d)); border-radius:calc(15 * var(--d)); }
.d-list-copy { position:absolute; left:calc(50 * var(--d)); width:calc(354 * var(--d)); }
.d-list-copy h1 { font-size:calc(56 * var(--d)); font-weight:900; line-height:calc(68 * var(--d)); letter-spacing:-.055em; white-space:nowrap; }
.d-title-line { display:block; transform-origin:left top; }
.seoul-design-sightseeing .d-title-line:first-child { transform:translate(calc(-2.3 * var(--d)),calc(-4 * var(--d))) scaleX(1.0583); }
.seoul-design-sightseeing .d-title-line:last-child { transform:translateY(calc(-3 * var(--d))) scaleX(1.0096); }
.seoul-design-restaurant .d-title-line:first-child { transform:translate(calc(-3.2 * var(--d)),calc(-4.25 * var(--d))) scale(1.034,1.0204); }
.seoul-design-restaurant .d-title-line:last-child { transform:translate(calc(-3.8 * var(--d)),calc(-7 * var(--d))) scaleX(.9842); }
.d-list-copy .d-hero-description { font-size:calc(22 * var(--d)); line-height:calc(35 * var(--d)); letter-spacing:-.04em; white-space:nowrap; }
.d-list-copy .d-total { font-size:calc(20 * var(--d)); line-height:calc(30 * var(--d)); color:#425a7b; }
.seoul-design-sightseeing .d-list-copy { top:calc(132 * var(--d)); }
.seoul-design-sightseeing .d-list-copy h1 { margin-top:calc(21 * var(--d)); }
.seoul-design-sightseeing .d-hero-description { margin-top:calc(20 * var(--d)); }
.seoul-design-sightseeing .d-total { margin-top:calc(14 * var(--d)); }
.seoul-design-restaurant .d-breadcrumbs { top:calc(21 * var(--d)); }
.seoul-design-restaurant .d-list-copy { top:calc(109 * var(--d)); }
.seoul-design-restaurant .d-list-copy h1 { margin-top:calc(16 * var(--d)); }
.seoul-design-restaurant .d-hero-description { margin-top:calc(13 * var(--d)); }
.seoul-design-restaurant .d-total { margin-top:calc(15 * var(--d)); }
.seoul-design-hotel .d-breadcrumbs { top:calc(45 * var(--d)); }
.seoul-design-hotel .d-list-copy { top:calc(141 * var(--d)); }
.seoul-design-hotel .d-list-copy h1 { margin-top:calc(19 * var(--d)); font-size:calc(49 * var(--d)); line-height:calc(66 * var(--d)); transform:translate(calc(-2.2 * var(--d)),calc(-7 * var(--d))) scale(1.0498,1.0698); transform-origin:left top; }
.seoul-design-hotel .d-hero-description { margin-top:calc(15 * var(--d)); }
.seoul-design-hotel .d-total { margin-top:calc(17 * var(--d)); }
.d-list-results { width:100%; }
.d-search-row { position:relative; margin-left:calc(48 * var(--d)); width:calc(930 * var(--d)); }
.d-search { display:grid; grid-template-columns:minmax(0,1fr) calc(196 * var(--d)); gap:calc(14 * var(--d)); height:calc(67 * var(--d)); margin:0; }
.d-search-field { display:flex; align-items:center; min-width:0; border:calc(1.4 * var(--d)) solid #c9dcf5; border-radius:calc(15 * var(--d)); background:#fff; gap:calc(15 * var(--d)); padding:0 calc(23 * var(--d)); }
.d-search-field .d-icon { color:#6b86a9; width:calc(28 * var(--d)); height:calc(28 * var(--d)); }
.d-search input { display:block; width:100%; min-width:0; padding:0; border:0; background:transparent; outline-offset:4px; font-size:calc(22 * var(--d)); color:var(--ink); letter-spacing:.035em; }
.d-search input::placeholder { opacity:1; color:#647da3; }
.d-search .d-button { border-radius:calc(13 * var(--d)); font-size:calc(22 * var(--d)); }
.d-result-count { font-size:calc(20 * var(--d)); color:#40577a; line-height:calc(30 * var(--d)); }
.d-article-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); list-style:none; padding:0; }
.d-page .d-article-card { position:relative; min-width:0; margin:0; border:1px solid #e7eff8; border-radius:calc(12 * var(--d)); background:#fff; box-shadow:0 calc(3 * var(--d)) calc(7 * var(--d)) #24486e0d; }
.d-page .d-article-card > a { position:relative; display:flex; flex-direction:column; height:100%; padding:calc(22 * var(--d)) calc(24 * var(--d)); overflow:hidden; }
.d-card-kind { display:inline-block; align-self:flex-start; border-radius:calc(7 * var(--d)); background:#e2f1ff; color:var(--blue); padding:0 calc(12 * var(--d)); font-size:calc(16 * var(--d)); line-height:calc(29 * var(--d)); font-weight:700; }
.d-card-number { position:absolute; top:calc(14 * var(--d)); right:calc(22 * var(--d)); color:#a2caff; font-size:calc(45 * var(--d)); line-height:calc(54 * var(--d)); font-weight:800; }
.d-page .d-article-card h2 { font-size:calc(28 * var(--d)); line-height:calc(36 * var(--d)); letter-spacing:-.045em; font-weight:800; margin:calc(17 * var(--d)) 0 0; }
.d-page .d-article-card p { margin:calc(10 * var(--d)) 0 0; font-size:calc(18 * var(--d)); line-height:calc(29 * var(--d)); letter-spacing:-.035em; color:#2d466d; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; }
.d-card-more { display:flex; align-items:center; gap:calc(8 * var(--d)); margin-top:auto; color:var(--blue); font-size:calc(20 * var(--d)); line-height:calc(30 * var(--d)); font-weight:700; }
.d-card-more .d-icon { width:calc(24 * var(--d)); height:calc(24 * var(--d)); }
.d-article-card:hover { border-color:#a5ccff; }
.d-more-button { display:flex; padding:0; }
.seoul-design-sightseeing .d-search-row { margin-top:calc(28 * var(--d)); }
.seoul-design-sightseeing .d-result-count { margin-top:calc(23 * var(--d)); }
.seoul-design-sightseeing .d-article-grid { width:calc(947 * var(--d)); margin:calc(18 * var(--d)) 0 0 calc(40 * var(--d)); gap:calc(18 * var(--d)) calc(12 * var(--d)); grid-auto-rows:calc(253.5 * var(--d)); }
.seoul-design-sightseeing .d-more-button { width:calc(372 * var(--d)); height:calc(60 * var(--d)); margin:calc(38 * var(--d)) auto 0; }
.seoul-design-sightseeing .d-list-results { padding-bottom:calc(47 * var(--d)); }
.seoul-design-restaurant .d-search-row { width:calc(931 * var(--d)); margin-left:calc(47 * var(--d)); margin-top:calc(29 * var(--d)); }
.seoul-design-restaurant .d-search { grid-template-columns:minmax(0,1fr) calc(170 * var(--d)); height:calc(64 * var(--d)); }
.seoul-design-restaurant .d-result-count { margin-top:calc(26 * var(--d)); line-height:calc(29 * var(--d)); font-weight:700; color:var(--ink); }
.seoul-design-restaurant .d-article-grid { width:calc(948 * var(--d)); margin:calc(18 * var(--d)) 0 0 calc(39 * var(--d)); gap:calc(20 * var(--d)) calc(18 * var(--d)); grid-template-rows:calc(273 * var(--d)) calc(298 * var(--d)); grid-auto-rows:calc(298 * var(--d)); }
.seoul-design-restaurant.is-filtered .d-article-grid { grid-template-rows:none; grid-auto-rows:calc(273 * var(--d)); }
.seoul-design-restaurant .d-article-card h2 { margin-top:calc(19 * var(--d)); }
.seoul-design-restaurant .d-card-kind { border-radius:calc(22 * var(--d)); }
.seoul-design-restaurant .d-card-more { border-top:1px solid #d9e7f8; padding-top:calc(15 * var(--d)); padding-right:calc(35 * var(--d)); }
.seoul-design-restaurant .d-article-card .d-circle { position:absolute; bottom:calc(19 * var(--d)); right:calc(23 * var(--d)); }
.seoul-design-restaurant .d-more-button { width:calc(312 * var(--d)); height:calc(56 * var(--d)); margin:calc(25 * var(--d)) auto 0; }
.seoul-design-restaurant .d-list-results { padding-bottom:calc(30 * var(--d)); }
.seoul-design-hotel .d-search-row { width:calc(929 * var(--d)); margin-left:calc(49 * var(--d)); margin-top:calc(32 * var(--d)); height:calc(65 * var(--d)); }
.seoul-design-hotel .d-search { width:calc(723 * var(--d)); height:calc(65 * var(--d)); grid-template-columns:minmax(0,1fr) calc(163 * var(--d)); gap:calc(16 * var(--d)); }
.seoul-design-hotel .d-search-field { border-radius:calc(11 * var(--d)); padding:0 calc(21 * var(--d)); }
.seoul-design-hotel .d-search input { font-size:calc(19 * var(--d)); }
.seoul-design-hotel .d-result-count { position:absolute; top:calc(19 * var(--d)); right:0; }
.seoul-design-hotel .d-article-grid { width:calc(960 * var(--d)); margin:calc(33 * var(--d)) 0 0 calc(32 * var(--d)); gap:calc(17 * var(--d)) calc(12 * var(--d)); grid-auto-rows:calc(276 * var(--d)); grid-template-rows:calc(279 * var(--d)) calc(276 * var(--d)); }
.seoul-design-hotel.is-filtered .d-article-grid { grid-template-rows:none; }
.seoul-design-hotel .d-article-card > a { padding:calc(22 * var(--d)); }
.seoul-design-hotel .d-card-kind { border-radius:calc(22 * var(--d)); }
.seoul-design-hotel .d-article-card h2 { margin-top:calc(20 * var(--d)); min-height:calc(58 * var(--d)); font-size:calc(25 * var(--d)); line-height:calc(31 * var(--d)); letter-spacing:-.055em; }
.seoul-design-hotel .d-compact-title h2 { font-size:calc(23 * var(--d)); letter-spacing:-.065em; white-space:nowrap; }
.seoul-design-hotel .d-article-card p { margin-top:calc(14 * var(--d)); }
.seoul-design-hotel .d-more-button { width:calc(298 * var(--d)); height:calc(57 * var(--d)); margin:calc(41 * var(--d)) auto 0; }
.seoul-design-hotel .d-list-results { padding-bottom:calc(52 * var(--d)); }
#search-empty { padding:calc(25 * var(--d)) calc(48 * var(--d)); font-size:calc(18 * var(--d)); }
.d-plan-hero { background:linear-gradient(105deg,#ecf7ff,#e8f5ff); padding-bottom:calc(17 * var(--d)); }
.d-plan-intro { position:relative; height:calc(284 * var(--d)); }
.d-plan-intro .d-breadcrumbs { top:calc(31 * var(--d)); }
.d-plan-intro > .d-eyebrow { position:absolute; left:calc(50 * var(--d)); top:calc(101 * var(--d)); }
.d-plan-intro h1 { position:absolute; left:calc(48 * var(--d)); top:calc(139 * var(--d)); font-size:calc(60 * var(--d)); line-height:calc(82 * var(--d)); letter-spacing:-.06em; font-weight:900; transform:translate(calc(1 * var(--d)),calc(-8.7 * var(--d))) scale(1.002,.9818); transform-origin:left top; }
.d-plan-subtitle { position:absolute; left:calc(50 * var(--d)); top:calc(221 * var(--d)); font-size:calc(26 * var(--d)); line-height:calc(40 * var(--d)); letter-spacing:-.035em; }
.d-plan-empty { position:relative; width:calc(956 * var(--d)); height:calc(490 * var(--d)); margin-left:calc(35 * var(--d)); border-radius:calc(14 * var(--d)); overflow:hidden; background:linear-gradient(110deg,#dceeff,#e2f2ff); }
.d-plan-empty-art { position:absolute; top:0; left:0; width:calc(548 * var(--d)); height:calc(490 * var(--d)); }
.d-plan-empty-copy { position:absolute; left:calc(571 * var(--d)); top:calc(164 * var(--d)); width:calc(380 * var(--d)); }
.d-plan-empty-copy h2 { font-size:calc(26 * var(--d)); line-height:calc(39 * var(--d)); letter-spacing:-.035em; font-weight:800; white-space:nowrap; }
.d-plan-empty-copy p { margin-top:calc(12 * var(--d)); font-size:calc(17 * var(--d)); line-height:calc(30 * var(--d)); letter-spacing:-.035em; }
.d-plan-empty-copy .d-button { margin-top:calc(20 * var(--d)); width:calc(288 * var(--d)); height:calc(62 * var(--d)); }
.d-plan-loading { padding:calc(50 * var(--d)); }
.d-plan-control-bar { position:relative; height:calc(128 * var(--d)); }
.d-storage-note { position:absolute; left:calc(54 * var(--d)); top:calc(24 * var(--d)); display:flex; align-items:flex-start; gap:calc(19 * var(--d)); color:#405678; }
.d-storage-note > .d-icon { width:calc(32 * var(--d)); height:calc(29 * var(--d)); margin-top:calc(5 * var(--d)); }
.d-storage-note strong { font-size:calc(18 * var(--d)); line-height:calc(30 * var(--d)); color:var(--ink); font-weight:800; }
.d-storage-note p { font-size:calc(13 * var(--d)); line-height:calc(24 * var(--d)); }
.d-page .d-plan-actions { position:absolute; left:calc(541 * var(--d)); top:calc(23 * var(--d)); width:calc(438 * var(--d)); display:grid; grid-template-columns:1fr 1fr; gap:calc(11 * var(--d)); margin:0; }
.d-plan-actions button { display:flex; align-items:center; justify-content:center; gap:calc(9 * var(--d)); height:calc(60 * var(--d)); padding:0; border:1px solid #cbd8eb; border-radius:calc(13 * var(--d)); background:#fff; color:var(--blue); font-size:calc(18 * var(--d)); font-weight:700; white-space:nowrap; }
.d-plan-actions button:disabled { background:#fafbfe; color:#b6bfce; opacity:1; cursor:default; }
.d-plan-actions .d-icon { width:calc(25 * var(--d)); height:calc(25 * var(--d)); }
.d-plan-control-bar #plan-status { position:absolute; left:calc(54 * var(--d)); bottom:calc(7 * var(--d)); font-size:calc(13 * var(--d)); }
.d-howto { height:calc(416 * var(--d)); position:relative; }
.d-howto > h2 { position:absolute; top:calc(18 * var(--d)); left:calc(48 * var(--d)); font-size:calc(36 * var(--d)); line-height:calc(54 * var(--d)); font-weight:900; letter-spacing:-.045em; }
.d-howto-grid { position:absolute; left:calc(37 * var(--d)); top:calc(80 * var(--d)); width:calc(950 * var(--d)); height:calc(286 * var(--d)); display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:calc(18 * var(--d)); }
.d-howto-card { position:relative; border:1px solid #deebfc; border-radius:calc(12 * var(--d)); box-shadow:0 calc(3 * var(--d)) calc(7 * var(--d)) #24486e0d; text-align:center; }
.d-step { position:absolute; top:calc(15 * var(--d)); left:calc(21 * var(--d)); color:var(--blue); font-size:calc(25 * var(--d)); line-height:calc(40 * var(--d)); font-weight:700; }
.d-howto-card > .d-icon { position:absolute; top:calc(49 * var(--d)); left:50%; transform:translateX(-50%); width:calc(93 * var(--d)); height:calc(82 * var(--d)); stroke-width:.85; color:var(--blue); }
.d-howto-card:nth-child(1) > .d-icon { top:calc(54 * var(--d)); left:calc(50% + 2 * var(--d)); width:calc(100 * var(--d)); height:calc(76 * var(--d)); stroke-width:3; }
.d-howto-card:nth-child(2) > .d-icon { top:calc(54 * var(--d)); width:calc(56 * var(--d)); height:calc(76 * var(--d)); stroke-width:3; }
.d-howto-card:nth-child(3) > .d-icon { top:calc(48 * var(--d)); left:calc(50% + 2.5 * var(--d)); width:calc(96 * var(--d)); height:calc(82 * var(--d)); stroke-width:3.5; }
.d-howto-card h3 { position:absolute; top:calc(154 * var(--d)); left:0; width:100%; font-size:calc(22 * var(--d)); line-height:calc(33 * var(--d)); font-weight:800; }
.d-howto-card > p { position:absolute; top:calc(201 * var(--d)); left:calc(8 * var(--d)); width:calc(100% - 16 * var(--d)); font-size:calc(16.5 * var(--d)); line-height:calc(28 * var(--d)); color:#405678; letter-spacing:-.035em; }
.d-noscript { padding:20px 48px; }
.seoul-design-plan.is-plan-filled .d-plan-hero { padding-bottom:calc(25 * var(--d)); }
.seoul-design-plan .seoul-plan-item { margin:0 calc(35 * var(--d)) calc(18 * var(--d)); padding:calc(24 * var(--d)); background:#fff; border-color:#dae8fa; }
.seoul-design-plan .seoul-plan-item h2 { font-size:calc(25 * var(--d)); line-height:1.5; }
.seoul-design-plan .seoul-plan-item label,.seoul-design-plan .seoul-plan-course { font-size:calc(16 * var(--d)); }
.seoul-design-plan .seoul-plan-item textarea { font-family:inherit; font-size:calc(17 * var(--d)); border-color:#c7dbf4; }
.seoul-design-plan .seoul-plan-item button { color:var(--blue); font-size:calc(15 * var(--d)); border-color:#bdd7f7; }
@media(max-width:700px) {
  .d-page { --d:1px; width:100%; }
  .d-header { height:102px; }
  .d-header-top { margin:0 18px; height:59px; }
  .d-header .d-brand { top:9px; }
  .d-brand b { font-size:27px; letter-spacing:-1.2px; }
  .d-brand span { font-size:15px; letter-spacing:-.5px; }
  .d-brand span { top:0; }
  .d-brand { gap:4px; }
  .d-parent { font-size:10px; top:24px; gap:3px; }
  .d-parent .d-icon { width:11px; height:11px; }
  .d-nav { display:flex; justify-content:space-between; padding:0 9px; height:43px; overflow-x:auto; }
  .d-nav a { position:static; width:auto!important; height:43px; padding:0 8px; font-size:12px; letter-spacing:-.035em; }
  .d-main { flex:1 0 auto; }
  .d-home-hero,.d-list-hero { height:auto; padding:30px 22px 23px; }
  .d-home-copy,.d-list-copy { position:static; width:auto; }
  .d-eyebrow { font-size:11px; letter-spacing:2.5px; line-height:18px; }
  .d-home-copy h1 { font-size:37px; line-height:1.3; margin-top:14px; letter-spacing:-.055em; }
  .d-home-copy h1 span { transform:none!important; }
  .d-home-copy .d-hero-description { font-size:17px; line-height:1.75; margin-top:15px; }
  .d-home-copy .d-button { margin-top:20px; width:260px; height:51px; font-size:17px; }
  .d-home-figure,.d-list-figure { position:static; margin-top:24px!important; width:100%; }
  .d-home-figure .d-art,.d-list-figure .d-art { height:auto; width:100%; border-radius:12px; }
  .d-home-figure figcaption,.d-list-figure figcaption { font-size:10px; line-height:17px; margin-top:5px; }
  .d-explore { height:auto; padding:28px 20px 30px; }
  .d-explore > .d-eyebrow,.d-explore > h2 { position:static; }
  .d-explore > h2 { margin-top:6px; font-size:28px; line-height:1.45; }
  .d-explore > h2 { transform:none; }
  .d-category-grid { position:static; margin-top:20px; width:auto; height:auto; display:grid; grid-template-columns:1fr; gap:14px; }
  .d-category { display:grid; width:100%!important; grid-template-columns:130px minmax(0,1fr); height:116px; border:1px solid #e3edf9; }
  .d-category > .d-art { height:auto; width:130px; align-self:center; }
  .d-category-copy { height:116px; padding:24px 16px; }
  .d-category h3 { font-size:20px; line-height:30px; }
  .d-category p { font-size:14px; line-height:24px; }
  .d-category .d-circle { right:14px; top:68px; width:29px; height:29px; }
  .d-category .d-icon { width:18px; height:18px; }
  .d-home-plan-section { height:auto; padding:0 18px 30px; }
  .d-plan-promo { margin:0; width:100%; height:auto; padding-bottom:23px; border-radius:14px; }
  .d-plan-promo-art { position:relative; width:100%; height:auto; aspect-ratio:478 / 278; }
  .d-plan-promo-copy { position:static; padding:0 20px; }
  .d-plan-promo-copy h2 { white-space:normal; font-size:25px; line-height:1.5; }
  .d-plan-promo-copy h2 { transform:none; }
  .d-plan-promo-copy > p { margin-top:9px; font-size:16px; line-height:1.75; }
  .d-plan-promo-copy .d-button { margin-top:16px; width:244px; height:49px; font-size:17px; }
  .d-plan-promo-copy small { font-size:12px; line-height:20px; margin-top:10px; }
  .d-footer { height:auto; padding:24px 20px; text-align:center; }
  .d-brand-footer,.d-footer nav,.d-footer > small { position:static; }
  .d-brand-footer { display:inline-flex; }
  .d-brand-footer b { font-size:26px; }
  .d-brand-footer span { font-size:15px; }
  .d-footer nav { margin-top:18px; display:flex; justify-content:center; gap:9px 20px; flex-wrap:wrap; font-size:10px; white-space:normal; }
  .d-footer > small { display:block; margin-top:16px; font-size:10px; }
  .d-breadcrumbs,.d-plan-intro .d-breadcrumbs,.seoul-design-restaurant .d-breadcrumbs,.seoul-design-hotel .d-breadcrumbs { position:static; font-size:11px; line-height:20px; margin-bottom:27px; }
  .d-breadcrumbs ol { flex-wrap:wrap; gap:4px 8px; }
  .d-breadcrumbs li + li::before { margin-right:8px; }
  .seoul-design-sightseeing .d-list-copy,.seoul-design-restaurant .d-list-copy,.seoul-design-hotel .d-list-copy { position:static; }
  .d-list-copy h1,.seoul-design-hotel .d-list-copy h1 { font-size:37px; line-height:1.3; letter-spacing:-.055em; margin-top:13px!important; white-space:normal; }
  .d-list-copy h1,.d-title-line { transform:none!important; }
  .d-list-copy h1 br { display:none; }
  .d-list-copy .d-hero-description { white-space:normal; font-size:16px; line-height:1.85; margin-top:15px; letter-spacing:-.02em; }
  .d-list-copy .d-total { font-size:15px; line-height:26px; margin-top:13px; }
  .d-list-figure { margin-top:20px!important; }
  .d-search-row,.seoul-design-sightseeing .d-search-row,.seoul-design-restaurant .d-search-row,.seoul-design-hotel .d-search-row { margin:22px 20px 0; width:calc(100% - 40px); height:auto; }
  .d-search,.seoul-design-restaurant .d-search,.seoul-design-hotel .d-search { width:100%; grid-template-columns:minmax(0,1fr) 82px; gap:8px; height:49px; }
  .d-search-field,.seoul-design-hotel .d-search-field { padding:0 12px; border-radius:10px; gap:8px; }
  .d-search-field .d-icon { width:20px; height:20px; }
  .d-search input,.seoul-design-hotel .d-search input { font-size:13px; letter-spacing:0; }
  .d-search .d-button { font-size:15px; padding:0 8px; border-radius:9px; }
  .d-result-count,.seoul-design-sightseeing .d-result-count,.seoul-design-restaurant .d-result-count,.seoul-design-hotel .d-result-count { position:static; margin-top:17px; font-size:15px; line-height:25px; }
  .d-article-grid,.seoul-design-sightseeing .d-article-grid,.seoul-design-restaurant .d-article-grid,.seoul-design-hotel .d-article-grid { width:calc(100% - 36px); margin:16px 18px 0; grid-template-columns:1fr; grid-template-rows:none; grid-auto-rows:230px; gap:13px; }
  body.seoul-design-page .d-article-grid,body.seoul-design-page.is-filtered .d-article-grid { grid-template-rows:none; grid-auto-rows:minmax(230px,auto); }
  .d-page .d-article-card > a,.seoul-design-hotel .d-article-card > a { padding:20px; }
  .d-page .d-article-card > a { min-height:230px; }
  .d-card-kind { font-size:12px; line-height:24px; padding:0 10px; }
  .d-card-number { font-size:37px; line-height:45px; right:20px; top:12px; }
  .d-page .d-article-card h2,.seoul-design-hotel .d-article-card h2,.seoul-design-hotel .d-compact-title h2 { font-size:23px; line-height:30px; margin-top:17px; min-height:0; white-space:normal; }
  .d-page .d-article-card p,.seoul-design-hotel .d-article-card p { margin-top:9px; font-size:15px; line-height:25px; }
  .d-card-more { font-size:16px; line-height:25px; }
  .d-card-more .d-icon { width:20px; height:20px; }
  .seoul-design-restaurant .d-card-more { padding-top:10px; }
  .seoul-design-restaurant .d-article-card .d-circle { width:31px; height:31px; bottom:16px; right:20px; }
  .d-more-button,.seoul-design-sightseeing .d-more-button,.seoul-design-restaurant .d-more-button,.seoul-design-hotel .d-more-button { width:250px; height:50px; margin:25px auto 0; font-size:17px; }
  .seoul-design-sightseeing .d-list-results,.seoul-design-restaurant .d-list-results,.seoul-design-hotel .d-list-results { padding-bottom:30px; }
  #search-empty { padding:20px; font-size:15px; }
  .d-plan-intro { height:auto; padding:22px 22px 25px; }
  .d-plan-intro > .d-eyebrow,.d-plan-intro h1,.d-plan-subtitle { position:static; }
  .d-plan-intro h1 { margin-top:12px; font-size:clamp(28px,8.45vw,33px); line-height:1.5; }
  .d-plan-intro h1 { transform:none; }
  .d-plan-subtitle { margin-top:13px; font-size:16px; line-height:1.8; }
  .d-plan-hero { padding-bottom:18px; }
  .d-plan-empty { width:calc(100% - 36px); height:auto; margin:0 18px; padding-bottom:25px; border-radius:13px; }
  .d-plan-empty-art { position:relative; width:100%; height:auto; aspect-ratio:548 / 490; }
  .d-plan-empty-copy { position:static; width:auto; padding:0 19px; }
  .d-plan-empty-copy h2 { font-size:clamp(18px,5.38vw,21px); line-height:1.5; white-space:normal; }
  .d-plan-empty-copy p { margin-top:13px; font-size:14px; line-height:1.85; }
  .d-plan-empty-copy br { display:none; }
  .d-plan-empty-copy .d-button { width:255px; max-width:100%; height:50px; margin-top:20px; font-size:17px; }
  .d-plan-control-bar { height:auto; padding:22px 20px 24px; }
  .d-storage-note { position:static; gap:12px; }
  .d-storage-note > .d-icon { width:26px; height:25px; margin-top:3px; }
  .d-storage-note strong { font-size:15px; line-height:26px; }
  .d-storage-note p { font-size:12px; line-height:22px; }
  .d-page .d-plan-actions { position:static; width:100%; margin-top:17px; gap:9px; }
  .d-plan-actions button { height:49px; font-size:14px; border-radius:9px; gap:6px; }
  .d-plan-actions .d-icon { width:20px; height:20px; }
  .d-plan-control-bar #plan-status { position:static; margin-top:10px; font-size:12px; }
  .d-howto { height:auto; padding:0 18px 30px; }
  .d-howto > h2 { position:static; margin-bottom:18px; font-size:26px; line-height:1.5; }
  .d-howto-grid { position:static; width:100%; height:auto; grid-template-columns:1fr; gap:13px; }
  .d-howto-card { height:228px; }
  .d-step { left:20px; top:12px; font-size:24px; }
  .d-howto-card > .d-icon { top:24px; width:78px; height:72px; }
  .d-howto-card:nth-child(1) > .d-icon { top:27px; width:92px; height:70px; }
  .d-howto-card:nth-child(2) > .d-icon { top:25px; width:52px; height:71px; }
  .d-howto-card:nth-child(3) > .d-icon { top:24px; width:88px; height:75px; }
  .d-howto-card h3 { top:113px; font-size:21px; line-height:32px; }
  .d-howto-card > p { top:161px; font-size:14px; line-height:25px; }
  .seoul-design-plan .seoul-plan-item { margin:0 18px 16px; padding:20px; }
  .seoul-design-plan .seoul-plan-item h2 { font-size:22px; }
  .seoul-design-plan .seoul-plan-item label,.seoul-design-plan .seoul-plan-course,.seoul-design-plan .seoul-plan-item textarea { font-size:14px; }
  .seoul-design-plan .seoul-plan-item button { font-size:13px; }
}
@media(max-width:360px) {
  .d-nav a { font-size:11px; padding-inline:6px; }
  .d-plan-empty-copy .d-button { font-size:16px; }
  .d-plan-actions button { font-size:12px; gap:5px; }
}
@media(prefers-reduced-motion:reduce) { html:has(.seoul-design-page) { scroll-behavior:auto; } }
/* Map pages: the common map with a short introduction and the counts per area. */
.d-map-page { background:linear-gradient(180deg,#eaf5ff,#fff 420px); padding:0 calc(48 * var(--d)) calc(56 * var(--d)); }
.d-map-intro { position:relative; padding-top:calc(78 * var(--d)); }
.d-map-intro .d-breadcrumbs { top:calc(28 * var(--d)); left:0; }
.d-map-intro h1 { font-size:calc(42 * var(--d)); line-height:1.35; letter-spacing:-.04em; font-weight:900; }
.d-map-intro > p { margin-top:calc(12 * var(--d)); max-width:46em; font-size:max(14px,calc(17 * var(--d))); line-height:1.75; color:#32496c; }
.d-map-intro > .d-map-links { display:flex; flex-wrap:wrap; gap:8px 20px; }
.d-map-links a { color:var(--blue)!important; font-weight:700; }
.d-map-date { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; margin-top:calc(16 * var(--d)); }
.d-map-date input { height:40px; padding:0 10px; border:1px solid #b9cfe8; border-radius:8px; }
.d-map-date .d-button { height:40px; border-radius:20px; font-weight:700; }
.d-map-date small { color:#526381; }
.d-map-section { margin-top:calc(24 * var(--d)); }
.d-map-areas { margin-top:calc(36 * var(--d)); }
.d-map-areas h2 { font-size:calc(24 * var(--d)); font-weight:900; }
.d-map-areas ul { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:8px 16px; margin:12px 0 0; padding:0; list-style:none; }
.d-map-areas li { display:flex; justify-content:space-between; padding:10px 14px; border:1px solid #dce8f6; border-radius:10px; background:#fff; }
.d-map-areas span { color:var(--blue); font-weight:700; }
@media(max-width:700px) { .d-map-page { padding:0 16px 40px; } .d-map-intro { padding-top:20px; } .d-map-intro h1 { font-size:26px; } .d-map-areas h2 { font-size:20px; } }
/* The all-articles page: the three kinds one after another, with the list cards. */
.d-all-section { margin-top:calc(44 * var(--d)); scroll-margin-top:16px; }
.d-all-heading { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:8px 20px; }
.d-all-heading h2 { margin:0; font-size:calc(32 * var(--d)); font-weight:900; letter-spacing:-.03em; }
.d-all-heading h2 span { margin-left:12px; color:var(--blue); font-size:.6em; font-weight:700; letter-spacing:0; }
.d-all-heading .d-map-links { display:flex; flex-wrap:wrap; gap:6px 20px; margin:0; font-size:max(13px,calc(16 * var(--d))); }
.d-all-page .d-article-grid { margin:calc(16 * var(--d)) 0 0; gap:calc(16 * var(--d)) calc(12 * var(--d)); grid-auto-rows:minmax(calc(240 * var(--d)), auto); }
.d-page .d-all-page .d-article-card h3 { font-size:calc(28 * var(--d)); line-height:calc(36 * var(--d)); letter-spacing:-.045em; font-weight:800; margin:calc(17 * var(--d)) 0 0; }
@media(max-width:700px) {
  .d-all-section { margin-top:32px; }
  .d-all-heading h2 { font-size:22px; }
  .d-all-page .d-article-grid { width:100%; margin:12px 0 0; }
  .d-page .d-all-page .d-article-card h3 { font-size:23px; line-height:30px; margin-top:17px; }
}
.d-map-shortcut { margin:calc(6 * var(--d)) calc(48 * var(--d)) 0; text-align:right; font-size:max(13px,calc(15 * var(--d))); }
.d-map-shortcut a { color:var(--blue)!important; font-weight:700; }
@media(max-width:700px) { .d-map-shortcut { margin:8px 16px 0; text-align:left; } }
