/* 타입 시스템 1028 — 공개 페이지 전체의 글꼴 기준. 모든 official 페이지가 </head> 바로 앞에서 마지막으로 불러온다.
   링크를 빼면 이전 글꼴 상태로 돌아간다.

   기준(데스크톱 / 모바일, 사이는 화면 폭에 비례)
   - 대표 문구    본명조 300     56 / 34   행간 1.2    자간 -.03em    --ts-display
   - 페이지 제목  본명조 300     44 / 30   행간 1.3    자간 -.025em   h1
   - 섹션 제목    본명조 400     32 / 24   행간 1.4    자간 -.02em    --type-h1 · --type-h2
   - 소제목       본명조 400     22 / 19   행간 1.45   자간 -.01em    --type-h3
   - 리드 문장    본명조 400     19 / 17   행간 1.7                   --ts-lead
   - 본문         Pretendard 400 16 / 15   행간 1.8    자간 0         --type-body · --leading-body
   - 영문 라벨    Pretendard 500 12        자간 .12em(한글 라벨은 0)
   - 숫자         Gloock은 28px 이상에서만. 최소 글자 크기 12px.
   - 제목 서체는 본명조(Noto Serif KR, OFL). Light 300·Regular 400 두 파일만 두고 제목은 굵게 쓰지 않는다.
     파일은 fonts-noto-serif-kr/에 있고, 사이트가 쓰는 글자(KS X 1001 한글 2,350자 + 사용 글자 + 라틴·문장부호)만 남긴 서브셋이다.
     예전 MaruBuri 지정은 각 CSS에서 'Noto Serif KR'로 바꿨다(@font-face 선언과 주석은 그대로 두었고, 쓰이지 않아 내려받지 않는다).

   기존 토큰 이름(--type-h1 등)은 여러 파일이 쓰고 있어 이름은 그대로 두고 값만 바꾼다.
   --type-h1은 실제로 섹션 제목(h2)에도 쓰이므로 섹션 크기로 두고, h1 요소 안에서만 제목 크기로 다시 정한다. */

/* 글꼴 파일: 모두 font-display:swap(느린 회선에서 제목이 비어 보이지 않게).
   같은 이름·굵기의 @font-face는 나중 선언이 쓰이므로 core.css 등의 Gloock·Pretendard 선언을 대신한다. */
@font-face{font-family:'Noto Serif KR';src:url(fonts-noto-serif-kr/NotoSerifKR-Light.woff2) format('woff2');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:'Noto Serif KR';src:url(fonts-noto-serif-kr/NotoSerifKR-Regular.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Gloock;src:url(astra-web-1007/assets/Gloock-Regular.woff2) format('woff2'),url(astra-web-1007/assets/Gloock-Regular.ttf) format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Pretendard;src:url(astra-web-1007/assets/PretendardVariable.woff2) format('woff2');font-weight:100 900;font-style:normal;font-display:swap}

/* 굵은 파일이 없으므로 600 등을 지정해도 획을 덧칠한 가짜 볼드를 만들지 않는다(기울임 합성은 그대로 허용). */
html{font-synthesis:style}

body.eg-site{
 --type-h1:clamp(24px,calc(21.03px + .762vw),32px);
 --type-h2:var(--type-h1);
 --type-h3:clamp(19px,calc(17.89px + .286vw),22px);
 --type-body:clamp(15px,calc(14.63px + .095vw),16px);
 --leading-heading:1.4;--leading-body:1.8;--tracking-heading:-.02em;
 --ts-display:clamp(34px,calc(25.83px + 2.095vw),56px);
 --ts-title:clamp(30px,calc(24.8px + 1.333vw),44px);
 --ts-lead:clamp(17px,calc(16.26px + .19vw),19px);
}

/* 제목은 줄 길이를 고르게(한 단어만 다음 줄로 떨어지지 않게), 본문은 마지막 줄 외톨이 단어를 줄인다. */
body.eg-site :is(h1,h2,h3){text-wrap:balance}
body.eg-site #main p{text-wrap:pretty}

/* 페이지 제목: 기존 규칙이 h1에도 var(--type-h1)·var(--type-h2)를 쓰므로 h1 안에서만 두 토큰을 제목 크기로 바꾼다.
   굵기는 font 축약형(400)으로 정한 규칙이 여럿이라 important로 맞춘다. */
body.eg-site #main h1{--type-h1:var(--ts-title);--type-h2:var(--ts-title);--leading-heading:1.3;--tracking-heading:-.025em;font-weight:300!important}

/* 아래 :is(…,#x-type-system)의 #x-type-system은 페이지에 없는 ID다. 덧댄 파일들의 ID 2개짜리 규칙보다
   앞서도록 특이도만 올린다(:is는 목록 중 가장 높은 특이도를 쓴다). */

/* 섹션 제목인데 24px·600으로 따로 정해져 있던 곳(브랜드·미디어) → 섹션 제목 단계로. */
body.eg-site #main :is(.lb-brand-message>h2,.r57g4-network-copy>h2,#troon-brands-title,#press-list-title,#sns-title){
 font-size:var(--type-h1);line-height:var(--leading-heading);letter-spacing:var(--tracking-heading);font-weight:400}

/* 카드·항목 제목 → 소제목 단계로. */
body.eg-site #main :is(.r57g2-brand-link>h2,.ags-text>h2,.f2-type-head>h3,.lb-residence-sequence>article>h2,#x-type-system){
 font-size:var(--type-h3);line-height:1.45;letter-spacing:-.01em;font-weight:400}
body.eg-site #main :is(.media-news h3,#x-type-system){font-size:clamp(16px,calc(15.63px + .095vw),17px);line-height:1.5;font-weight:400}
/* 반 폭 칸 안의 섹션 제목(줄바꿈이 문안에 들어 있는 문장형)은 28px까지만. */
body.eg-site #main :is(.lb-g3-copy>h2,#x-type-system){font-size:min(var(--type-h1),28px)}
/* 영문 대문자 이름(THE GALLERY 등)은 자간을 좁히지 않고 조금 벌린다. */
body.eg-site #main :is(.f2-type-head>h3,.lb-residence-sequence>article>h2,.f2-type-index-name,#x-type-system){letter-spacing:.04em}

/* 영문 라벨: 12px·500·자간 .12em 하나로. */
body.eg-site :is(.oc-eyebrow,.section-label,.fg-kicker,.gallery-heading>p:first-child,.fg-footer-directory h2,#x-type-system){
 font-size:12px!important;font-weight:500;line-height:1.5;letter-spacing:.12em!important}
body.eg-site :is(.lb-source,.gc-title,#x-type-system){letter-spacing:.08em}
body.eg-site :is(.lb-photo figcaption>strong,#x-type-system){letter-spacing:.06em}
/* 한글 라벨은 자간을 벌리지 않는다. */
body.eg-site :is(.interior-space>.oc-eyebrow,.o11g-gnet-name>span,#x-type-system){letter-spacing:0!important}
body.eg-site :is(.o11-legend-item,#x-type-system){letter-spacing:.02em!important}

/* 최소 글자 크기 12px(고지 문구·사업주체·작은 안내·모바일 헤더 링크). 지도·카드 그림 안의 표기는 그림 크기에 맞춰 둔다. */
body.eg-site :is(.notice p,.home-existing-notices nav a,.rf-footer-business>h4,.gallery-disclaimer,.gbl-note,.o11g-gnet-name>span,#x-type-system){font-size:12px!important;line-height:1.6}
body.eg-site :is(.home-header .visit-link,a.es>span,#x-type-system){font-size:12px!important}

/* Gloock은 큰 숫자 전용. 16px로 쓰던 영문 항목 제목은 본명조 소제목으로. */
body.eg-site #main :is(.om-values>li>strong,#x-type-system){font-family:var(--font-heading,'Noto Serif KR',serif);font-size:var(--type-h3);font-weight:400;letter-spacing:0}

/* 본문 행간이 1.9~2.1로 남아 있던 곳 → 1.8. */
body.eg-site #main :is(.oc-faq details>p,.r57f2-domestic-lead,#x-type-system){line-height:1.8}
body.eg-site #main :is(.r57f2-cond-note,#x-type-system){line-height:1.7}
body.eg-site #main :is(.eg-course-detail>p,#x-type-system){font-size:15px;line-height:1.75}

/* 광학 왼쪽 정렬: 글자마다 획 왼쪽에 빈 여백이 들어 있어(한글 약 .04em, 영문 대문자 약 .06em — 본명조·Pretendard 실측 중앙값)
   큰 제목일수록 라벨·본문보다 안쪽에서 시작해 보인다. 그 여백만큼 글을 왼쪽으로 당겨 첫 획이 칸의 왼쪽 선에 닿게 한다.
   박스 위치·폭은 그대로 두도록 translate만 쓴다. 테두리가 있는 문단과 가운데·오른쪽 정렬 글은 박스째 움직이면 안 되므로 뺀다. */
body.eg-site #main :is(h1,h2,h3,h4,p,dt,dd,blockquote,figcaption){translate:-.04em 0}
body.eg-site #main :is(.section-label,.oc-eyebrow,.fg-kicker,.gallery-heading>p:first-child,#x-type-system){translate:-.06em 0}
body.eg-site #main :is(.om-address,.w7-reg-guide>p,.entry-content>p,.eg-app-login>figcaption,#jeju-special-title,.fg-arrival,.f2-map-hint,#x-type-system){translate:none}
/* 글이 아닌 것을 담은 문단(사진 위 로고, 테두리 버튼 묶음)도 그대로 둔다. */
body.eg-site #main :is(.fg1-troon-logo,.om-btns,#x-type-system){translate:none}
