@import url('https://fonts.googleapis.com/css2?family=Gowun+Batang:wght@400;700&family=Noto+Sans+KR:wght@400;500;600;700&display=swap');

:root { --navy:#0d2945; --ink:#122a42; --teal:#0f8c98; --sand:#f8f5ef; --paper:#fffdf9; --line:#e6e1d8; --muted:#687482; --amber:#ea962f; --radius:14px; --shadow:0 12px 30px rgba(18,42,66,.08); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--sand); font-family:'Noto Sans KR', Arial, sans-serif; line-height:1.65; }
a { color:inherit; text-decoration:none; }
button, input { font:inherit; }
.container { width:min(1280px, calc(100% - 48px)); margin:0 auto; }
.site-header { background:var(--navy); color:#fff; }
.header-inner { height:68px; display:flex; align-items:center; justify-content:space-between; }
.logo { font-family:'Gowun Batang', serif; font-size:25px; font-weight:700; letter-spacing:-.06em; }
nav { display:flex; gap:38px; font-size:14px; font-weight:500; }
nav a { opacity:.9; } nav a:hover { opacity:1; color:#d2f7f5; }
.hero-image { height:218px; background:url('/assets/coastline-hero.png') center 54%/cover no-repeat; }
.search-section { padding:49px 0 56px; text-align:center; }
.search-section h1 { margin:0; font-family:'Gowun Batang', serif; font-weight:700; font-size:clamp(34px,4vw,52px); letter-spacing:-.08em; line-height:1.25; }
.search-hint { margin:12px auto 25px; color:var(--muted); font-size:15px; }
.search-box { position:relative; margin:0 auto; width:min(860px, 100%); padding:6px; display:flex; align-items:center; gap:8px; background:#fff; border:1px solid #e2ded6; border-radius:12px; box-shadow:0 5px 14px rgba(15,41,69,.12); text-align:left; }
.search-icon { width:19px; height:19px; border:2px solid #8d98a1; border-radius:50%; margin-left:16px; position:relative; flex:0 0 auto; }.search-icon::after { content:''; position:absolute; right:-6px; bottom:-4px; width:7px; height:2px; background:#8d98a1; transform:rotate(45deg); }
.search-box input { min-width:0; flex:1; border:0; outline:0; padding:13px 8px; color:var(--ink); background:transparent; font-size:15px; }.search-box input::placeholder { color:#8a929c; }
.search-box button { min-width:99px; border:0; border-radius:8px; padding:12px 22px; color:#fff; font-weight:700; background:var(--amber); cursor:pointer; transition:filter .18s, transform .18s; }.search-box button:hover { filter:brightness(.94); transform:translateY(-1px); }
.search-results { width:min(1120px,100%); margin:24px auto 0; overflow:hidden; text-align:left; background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); }.hidden { display:none!important; }
.search-loading,.search-empty { padding:28px; color:var(--muted); text-align:center; }
.search-answer-head { display:flex; align-items:center; gap:10px; margin-bottom:10px; color:var(--teal); font-size:14px; font-weight:700; }.spark { display:grid; place-items:center; width:29px; height:29px; border-radius:50%; color:#fff; background:var(--teal); }
.search-llm-answer { padding:23px 28px 18px; border-bottom:1px solid var(--line); }.answer-text { font-size:14px; line-height:1.8; }.answer-text h3 { margin:0 0 8px; color:var(--ink); font-size:16px; }.answer-text strong { color:var(--ink); }.answer-bullet { padding-left:14px; position:relative; }.answer-bullet::before { content:'•'; position:absolute; left:0; color:var(--teal); }
.source-label { padding:12px 28px 0; font-size:12px; color:var(--muted); }.search-links { padding:9px 28px 20px; display:flex; flex-wrap:wrap; gap:9px; }.search-link-chip { border:1px solid #d8ddd9; border-radius:30px; padding:6px 12px; color:#395268; background:#fff; font-size:13px; cursor:pointer; transition:all .16s; }.search-link-chip:hover { color:#fff; background:var(--navy); border-color:var(--navy); }
.destinations-section { padding:7px 0 68px; }.section-heading { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:20px; }.section-heading h2 { margin:0; font-family:'Gowun Batang', serif; font-size:29px; letter-spacing:-.06em; }.section-heading>p { margin:0; color:var(--muted); font-size:13px; }.section-kicker { margin:0 0 2px; color:var(--teal); letter-spacing:.14em; font-size:10px; font-weight:700; }
.filter-bar { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:20px; }.filter-btn { min-width:72px; border:1px solid var(--line); border-radius:6px; padding:7px 14px; color:#4d5a67; background:transparent; cursor:pointer; font-size:13px; transition:all .16s; }.filter-btn:hover,.filter-btn.active { background:var(--navy); color:#fff; border-color:var(--navy); }
.destination-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }.loading-spinner { grid-column:1/-1; padding:40px; text-align:center; color:var(--muted); }
.dest-card { min-width:0; display:flex; flex-direction:column; min-height:224px; padding:21px; background:var(--paper); border:1px solid var(--line); border-radius:11px; box-shadow:0 3px 12px rgba(18,42,66,.04); cursor:pointer; transition:transform .18s, box-shadow .18s, border-color .18s; }.dest-card:hover { transform:translateY(-4px); border-color:#afc9cb; box-shadow:var(--shadow); }.dest-card-top { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; }.dest-card-flag { font-size:25px; line-height:1; }.dest-card-country { color:#788591; font-size:12px; }.dest-card-name { margin-top:20px; font-family:'Gowun Batang', serif; font-size:23px; font-weight:700; letter-spacing:-.05em; }.dest-card-en { margin-top:-1px; color:#7a8792; font-size:11px; }.dest-card-meta { margin:15px 0 10px; }.dest-tag { color:#3d566b; font-size:12px; }.dest-card-summary { color:#53616c; font-size:12px; line-height:1.7; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.site-footer { color:#cad7df; background:var(--navy); }.footer-inner { min-height:76px; display:flex; gap:20px; align-items:center; justify-content:space-between; font-size:12px; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media (max-width:900px) { .destination-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:640px) { .container { width:min(100% - 32px,1280px); }.header-inner { height:62px; }.logo{font-size:22px;} nav { gap:16px; font-size:12px; }.hero-image { height:148px; }.search-section{padding:37px 0 42px;}.search-section h1{font-size:33px;}.search-hint{font-size:13px;}.search-box{padding:5px;}.search-box input{font-size:13px;}.search-box button{min-width:64px;padding:11px 12px;}.section-heading{align-items:start;flex-direction:column;gap:4px;}.destination-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}.dest-card{min-height:210px;padding:16px;}.dest-card-name{font-size:20px;}.footer-inner{padding:16px 0;min-height:0;align-items:flex-start;flex-direction:column;gap:3px;} }
