/* Photo-led editorial layout: original Ohpas brand assets remain untouched. */
:root {
  --pg-forest:#164f3c; --pg-forest-dark:#113c2e; --pg-lime:#d7f0ac;
  --pg-paper:#fff; --pg-surface:#f3f5f2; --pg-ink:#202b25;
  --pg-muted:#6c766e; --pg-line:#e0e6df; --pg-sage:#edf5ed;
  --pg-font:16px; --pg-content:1320px;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:150px; }
body.pg-home { margin:0; background:var(--pg-paper); color:var(--pg-ink); font:400 var(--pg-font)/1.65 'Noto Sans KR',sans-serif; letter-spacing:-.035em; }
body.pg-large-text { --pg-font:18px; }
button,input { font:inherit; letter-spacing:inherit; }
button { border:0; cursor:pointer; color:inherit; }
a { color:inherit; text-decoration:none; }
a,button,input { -webkit-tap-highlight-color:transparent; }
h1,h2,h3,p,figure { margin:0; }
h1,h2,h3 { line-height:1.45; word-break:keep-all; overflow-wrap:anywhere; }
a:focus-visible,button:focus-visible,input:focus-visible { outline:3px solid #a85b2d; outline-offset:4px; }
a:hover h3 { text-decoration:underline; text-underline-offset:4px; }
img { max-width:100%; display:block; }
[hidden] { display:none !important; }
.pg-icon { flex-shrink:0; vertical-align:middle; }
.pg-wrap { max-width:var(--pg-content); margin:0 auto; padding:0 36px; }
.pg-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; }
.pg-skip { position:fixed; top:10px; left:10px; transform:translateY(-160%); z-index:100; background:var(--pg-forest); color:white; padding:12px 20px; }
.pg-skip:focus { transform:none; }

/* Calm masthead; the logo is always the supplied icon and official wordmark. */
.pg-header { position:sticky; top:0; z-index:30; background:#fff; border-bottom:1px solid var(--pg-line); }
.pg-header-inner { height:80px; display:flex; align-items:center; gap:22px; }
.pg-brand { display:inline-flex; align-items:center; gap:10px; flex-shrink:0; min-height:48px; }
.pg-brand-icon { width:48px; height:48px; object-fit:contain; }
.pg-brand-wordmark { width:96px; height:auto; object-fit:contain; }
.pg-header-description { font-size:.8125em; color:var(--pg-muted); padding-left:22px; border-left:1px solid var(--pg-line); }
.pg-header-actions { margin-left:auto; display:flex; align-items:center; gap:14px; }
.pg-header-link { font-size:.8125em; color:var(--pg-muted); min-height:44px; display:flex; align-items:center; }
.pg-text-toggle { min-width:44px; min-height:44px; background:transparent; border-radius:8px; font-size:20px; font-weight:700; }
.pg-text-toggle span { font-size:13px; vertical-align:super; }
.pg-text-toggle[aria-pressed=true] { background:var(--pg-sage); color:var(--pg-forest); }
.pg-icon-button { display:inline-flex; justify-content:center; align-items:center; background:transparent; min-width:44px; min-height:44px; border-radius:8px; }
.pg-icon-button:hover { background:var(--pg-sage); }
.pg-desktop-nav { display:flex; align-items:center; gap:34px; overflow-x:auto; scrollbar-width:none; }
.pg-desktop-nav::-webkit-scrollbar { display:none; }
.pg-desktop-nav a { display:flex; align-items:center; min-height:50px; flex-shrink:0; font-size:.9375em; font-weight:600; position:relative; }
.pg-desktop-nav a:hover,.pg-desktop-nav [aria-current] { color:var(--pg-forest); }
.pg-desktop-nav [aria-current]:after { content:''; position:absolute; bottom:0; height:3px; border-radius:3px; left:0; right:0; background:var(--pg-forest); }
.pg-news-toolbar { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:20px 0 8px; }
.pg-page-title { display:flex; align-items:center; gap:9px; }
.pg-page-title h1 { font-size:1em; font-weight:700; }
.pg-intent-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:0 0 42px; }
.pg-intent-links a { display:flex; flex-direction:column; justify-content:center; gap:4px; padding:12px 16px; min-height:72px; border:1px solid var(--pg-line); border-radius:10px; background:var(--pg-surface); }
.pg-intent-links a:hover { border-color:var(--pg-forest); }
.pg-intent-links strong { font-size:.9375em; color:var(--pg-forest); }
.pg-intent-links span { font-size:.8125em; color:#526156; }
@media(max-width:700px) { .pg-intent-links { grid-template-columns:1fr; gap:8px; } .pg-intent-links a { min-height:64px; padding:10px 14px; } }
.pg-live-dot { width:6px; height:6px; border-radius:50%; background:var(--pg-forest); }
.pg-edition { color:var(--pg-muted); font-size:.75em; padding-left:12px; margin-left:4px; border-left:1px solid var(--pg-line); }
.pg-search { display:flex; align-items:center; border:1px solid var(--pg-line); border-radius:24px; width:260px; background:#f7f9f6; }
.pg-search input { border:0; min-width:0; width:100%; background:transparent; padding:9px 16px; font-size:.8125em; color:var(--pg-ink); min-height:42px; }
.pg-search input::placeholder { color:var(--pg-muted); opacity:1; }
.pg-search input:focus-visible { outline:0; }
.pg-search:focus-within { outline:2px solid var(--pg-forest); outline-offset:2px; }
.pg-search button { flex-shrink:0; width:44px; min-height:42px; background:transparent; color:var(--pg-forest); }
.pg-search svg { width:19px; height:19px; }

/* News comes first; photos use real source images, and text stays readable without them. */
.pg-front-news { min-width:0; }
.pg-section { margin:0 0 58px; }
.pg-section-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:23px; }
.pg-heading-label { display:flex; align-items:baseline; gap:16px; }
.pg-eyebrow { color:var(--pg-forest); font-size:11px; font-weight:700; letter-spacing:.1em; order:2; }
.pg-section-heading h2 { font-size:1.625em; font-weight:800; letter-spacing:-.055em; }
.pg-more { display:inline-flex; align-items:center; gap:9px; min-height:44px; flex-shrink:0; font-size:.8125em; color:var(--pg-muted); }
.pg-more:hover { color:var(--pg-forest); }
.pg-more svg { width:17px; height:17px; }
.pg-top-stories { margin-top:10px; }
.pg-headline-grid { display:grid; grid-template-columns:1.12fr 1fr; gap:32px; align-items:start; }
.pg-story { display:block; min-width:0; }
.pg-story-copy { min-width:0; }
.pg-story h3 a:hover,.pg-magazine-card h3 a:hover { text-decoration:underline; text-underline-offset:4px; }
.pg-story-summary { margin:10px 0 0; font-size:.9375em; line-height:1.75; overflow-wrap:anywhere; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.pg-story-more { display:inline-flex; align-items:center; gap:8px; min-height:44px; margin-top:8px; font-size:.8125em; font-weight:700; }
.pg-story-more svg { width:16px; height:16px; }
.pg-story-image,.pg-magazine-image { display:block; background:var(--pg-sage); overflow:hidden; border-radius:12px; position:relative; isolation:isolate; }
.pg-story-image img,.pg-magazine-image img { width:100%; height:100%; object-fit:cover; position:relative; transition:transform .35s ease; }
.pg-story:hover .pg-story-image img,.pg-magazine-card:hover img { transform:scale(1.035); }
.pg-category { display:block; color:var(--pg-forest); font-size:.75em; font-weight:650; line-height:1.5; margin-bottom:7px; }
.pg-meta { display:flex; gap:6px; flex-wrap:wrap; font-size:.75em; line-height:1.6; color:var(--pg-muted); margin-top:10px; }
.pg-lead-story { background:var(--pg-forest-dark); border-radius:14px; overflow:hidden; position:relative; display:flex; flex-direction:column; }
.pg-lead-story .pg-story-image { border-radius:0; aspect-ratio:16/10; }
.pg-lead-story .pg-story-copy { padding:23px 30px 26px; color:#fff; }
.pg-lead-story .pg-category { color:#c8e5b5; }
.pg-lead-story h3 { font-size:1.625em; font-weight:750; line-height:1.48; letter-spacing:-.055em; }
.pg-lead-story .pg-meta { color:#c0d5c8; }
.pg-cover-label { position:absolute; left:20px; top:20px; border-radius:5px; padding:5px 10px; background:#fff; color:var(--pg-forest); font-size:.75em; font-weight:700; }
.pg-side-stories { display:grid; grid-template-columns:1fr; gap:20px; }
.pg-side-story { display:grid; grid-template-columns:128px minmax(0,1fr); gap:17px; padding-bottom:18px; border-bottom:1px solid var(--pg-line); align-items:start; }
.pg-side-story:last-child { padding-bottom:0; border-bottom:0; }
.pg-side-story .pg-story-image { aspect-ratio:1.25; }
.pg-side-story h3 { font-size:1.0625em; font-weight:700; line-height:1.55; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.pg-side-story .pg-story-summary { font-size:.8125em; -webkit-line-clamp:2; margin-top:7px; color:#526156; }
.pg-side-story .pg-story-more { margin-top:2px; min-height:34px; font-size:.75em; }
.pg-side-story .pg-meta { font-size:.6875em; margin-top:7px; }
.pg-side-story .pg-category { font-size:.6875em; margin-bottom:5px; }
.pg-story-no-photo.pg-side-story { grid-template-columns:1fr; }
.pg-story-no-photo.pg-latest-story,.pg-story-no-photo.pg-magazine-card { border-top:3px solid #bdd2c2; padding-top:16px; }

/* The event calendar is a compact strip, not another wall of headlines. */
.pg-events { display:flex; gap:26px; align-items:center; border:1px solid var(--pg-line); border-radius:12px; background:#f7f9f5; padding:20px 24px; margin:28px 0 52px; }
.pg-events-heading { display:flex; align-items:center; gap:13px; flex-shrink:0; }
.pg-event-icon { width:42px; height:42px; border-radius:50%; background:#e3eddf; display:grid; place-items:center; color:var(--pg-forest); }
.pg-event-icon svg { width:22px; height:22px; }
.pg-events h2 { font-size:1em; }
.pg-events-heading a { font-size:.75em; color:var(--pg-muted); display:flex; align-items:center; gap:9px; min-height:30px; }
.pg-events-heading a svg { width:14px; }
.pg-event-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); flex:1; min-width:0; }
.pg-event { display:flex; align-items:center; gap:12px; padding:0 20px; border-left:1px solid #dae3d5; min-width:0; }
.pg-event-date { flex-shrink:0; width:39px; text-align:center; line-height:1.2; }
.pg-event-date small { display:block; font-size:.6875em; color:var(--pg-muted); }
.pg-event-date strong { display:block; font-size:1.75em; font-weight:700; margin-top:4px; letter-spacing:-.04em; }
.pg-event-copy { min-width:0; }
.pg-status { font-size:.6875em; color:var(--pg-forest); font-weight:650; display:block; margin-bottom:4px; }
.pg-status.closing { color:#a54d28; }
.pg-event h3 { font-size:.8125em; line-height:1.55; font-weight:650; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.pg-event-copy>small { display:block; font-size:.6875em; color:var(--pg-muted); margin-top:4px; }
.pg-latest-list { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.pg-latest-story .pg-story-image { aspect-ratio:1.65; margin-bottom:15px; }
.pg-latest-story h3 { font-size:1.0625em; font-weight:650; line-height:1.55; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }

/* A separate, warm-paper magazine spread and illustrated reading paths. */
.pg-magazine { background:#f6f5ef; border-radius:16px; padding:30px; }
.pg-magazine-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:23px; }
.pg-magazine-image { aspect-ratio:1; margin-bottom:17px; background:#e7e9dc; }
.pg-magazine-card h3 { font-size:1.0625em; font-weight:650; line-height:1.6; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.pg-read-link { display:flex; align-items:center; gap:14px; font-size:.75em; color:var(--pg-muted); margin-top:16px; }
.pg-read-link svg { width:15px; height:15px; }
.pg-guide-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.pg-magazine-grid+.pg-guide-grid { margin-top:28px; border-top:1px solid #deded3; padding-top:26px; }
.pg-guide-card { position:relative; min-width:0; overflow:hidden; border-radius:10px; background:#e1ecdc; display:grid; grid-template-columns:95px 1fr; align-items:center; min-height:150px; padding:20px 35px 20px 0; }
.pg-guide-sand { background:#ede3ce; }
.pg-guide-blue { background:#dfe9ea; }
.pg-guide-art { height:110px; position:relative; display:grid; place-items:center; color:#346747; }
.pg-guide-art>svg { width:44px; height:44px; stroke-width:1.3; position:relative; transform:rotate(-12deg); }
.pg-guide-sand .pg-guide-art { color:#947132; }
.pg-guide-blue .pg-guide-art { color:#476e7c; }
.pg-guide-number { position:absolute; top:-25px; left:9px; font:700 88px/1 sans-serif; opacity:.055; letter-spacing:-.08em; }
.pg-guide-orbit { position:absolute; width:76px; height:76px; border-radius:50%; border:1px solid currentColor; opacity:.2; transform:rotate(-20deg) scaleY(.7); }
.pg-guide-orbit:after { content:''; position:absolute; inset:10px -8px; border:1px solid currentColor; border-radius:50%; transform:rotate(50deg); }
.pg-guide-copy>span { font-size:.6875em; color:#58705c; }
.pg-guide-sand .pg-guide-copy>span { color:#7d693e; }
.pg-guide-blue .pg-guide-copy>span { color:#4e727c; }
.pg-guide-copy h3 { font-size:1.0625em; margin-top:7px; font-weight:700; }
.pg-guide-card>svg { position:absolute; right:15px; bottom:19px; width:18px; }

/* Region browsing shows one illustrated headline and a single supporting story. */
.pg-news-filters { display:flex; gap:9px; margin:0 0 22px; overflow-x:auto; scrollbar-width:thin; padding-bottom:3px; }
.pg-news-filters button { flex-shrink:0; background:#fff; border:1px solid var(--pg-line); border-radius:24px; padding:9px 20px; min-height:44px; font-size:.8125em; }
.pg-news-filters [aria-pressed=true] { background:var(--pg-forest); color:white; border-color:var(--pg-forest); }
.pg-region-news-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; }
.pg-category-news-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.pg-news-column { min-width:0; }
.pg-region-news-grid .pg-news-column { border:1px solid var(--pg-line); border-radius:12px; padding:17px; }
.pg-news-column>h3 { font-size:.9375em; font-weight:700; margin-bottom:13px; }
.pg-news-column>h3 a { display:flex; align-items:center; gap:6px; min-height:32px; }
.pg-news-column>h3 svg { width:15px; height:15px; color:var(--pg-forest); }
.pg-news-column>h3 svg:last-child { margin-left:auto; }
.pg-column-story .pg-story-image { aspect-ratio:1.8; margin-bottom:14px; border-radius:8px; }
.pg-column-story h3,.pg-text-story h3 { font-size:1em; font-weight:650; line-height:1.55; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.pg-column-story .pg-category,.pg-text-story .pg-category { display:none; }
.pg-column-story .pg-meta,.pg-text-story .pg-meta { font-size:.6875em; margin-top:8px; }
.pg-text-story { margin-top:18px; padding-top:15px; border-top:1px solid var(--pg-line); }
.pg-text-story h3 { font-size:.875em; font-weight:500; }
.pg-video-section { padding:30px; background:#153d31; color:#fff; border-radius:16px; }
.pg-video-section .pg-eyebrow { color:#b6d8a5; }
.pg-video-section .pg-more { color:#d1e3d9; }
.pg-video-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.pg-video-image { aspect-ratio:16/9; background:#254d3e; position:relative; overflow:hidden; border-radius:10px; }
.pg-video-image img { width:100%; height:100%; object-fit:cover; }
.pg-video-image>.pg-video-play { position:absolute; bottom:14px; left:14px; width:40px; height:40px; background:#fff; color:var(--pg-forest); border-radius:50%; display:grid; place-items:center; box-shadow:0 2px 10px #0002; }
.pg-video-image .pg-thumbnail-label,.pg-course-image .pg-thumbnail-label { top:8px; bottom:auto; }
.pg-video-image svg { width:17px; height:17px; }
.pg-video-grid h3 { font-size:1em; font-weight:600; line-height:1.6; margin-top:15px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }

/* Course discovery is a secondary service after the editorial sections. */
.pg-course-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-top: -10px; }
.pg-course-toolbar>p { font-size: .875em; color: var(--pg-muted); }
.pg-saved-filter { display: flex; align-items: center; gap: 7px; background: none; min-height: 44px; font-size: .8125em; flex-shrink: 0; }
.pg-saved-filter svg { width: 18px; height: 18px; }
.pg-saved-filter>span { background: var(--pg-sage); color: var(--pg-forest); min-width: 22px; padding: 1px 5px; border-radius: 4px; text-align: center; font-weight: 650; }
.pg-region-links { display: flex; gap: 8px; overflow: auto; padding: 10px 0 14px; margin-bottom: 8px; scrollbar-width: thin; }
.pg-region-links a { flex-shrink: 0; display: flex; align-items: center; gap: 6px; min-height: 44px; padding: 6px 14px; border: 1px solid var(--pg-line); border-radius: 5px; font-size: .8125em; }
.pg-region-links small { color: var(--pg-muted); font-size: .8125em; }
.pg-region-links .active { background: var(--pg-sage); border-color: #b6c7ad; color: var(--pg-forest); }
.pg-course-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 22px; }
.pg-course-card { position: relative; min-width: 0; }
.pg-course-image { display: block; aspect-ratio: 1.7; position: relative; background: var(--pg-sage); overflow: hidden; border-radius: 5px; }
.pg-course-image>img { width: 100%; height: 100%; object-fit: cover; position: relative; }
.pg-course-location { position: absolute; bottom: 10px; left: 10px; display: flex; align-items: center; gap: 4px; background: #fffffff2; color: var(--pg-forest); font-size: .6875em; padding: 3px 7px; border-radius: 4px; }
.pg-course-location svg { width: 12px; height: 12px; }
.pg-save { position: absolute; right: 7px; top: 7px; border-radius: 50%; width: 44px; height: 44px; display: grid; place-items: center; background: #fff; color: var(--pg-ink); }
.pg-save svg { width: 20px; height: 20px; }
.pg-save[aria-pressed=true] { background: var(--pg-forest); color: white; }
.pg-save[aria-pressed=true] svg { fill: currentColor; }
.pg-course-body { padding-top: 12px; }
.pg-course-body h3 { font-size: 1em; font-weight: 600; }
.pg-course-meta { display: flex; align-items: center; justify-content: space-between; gap: 10px; font-size: .75em; color: var(--pg-muted); margin-top: 8px; }
.pg-course-meta>span { display: flex; align-items: center; gap: 5px; }
.pg-course-meta svg { width: 14px; height: 14px; }
.pg-empty { grid-column: 1/-1; padding: 25px; background: var(--pg-surface); border: 1px solid var(--pg-line); font-size: .875em; color: var(--pg-muted); border-radius: 5px; }
.pg-empty p { margin: 10px 0; }
.pg-empty a { color: var(--pg-forest); }
.pg-empty-text { color: var(--pg-muted); font-size: .8125em; padding: 16px 0; }
.pg-button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 44px; padding: 10px 16px; border-radius: 5px; background: var(--pg-forest); color: white !important; font-size: .875em; }
.pg-button svg { width: 18px; height: 18px; }

.pg-footer { border-top: 1px solid var(--pg-line); padding: 30px 0; background: var(--pg-surface); }
.pg-footer-top { display: flex; align-items: center; justify-content: space-between; gap: 25px; padding-bottom: 22px; }
.pg-footer-top p { font-size: .75em; color: var(--pg-muted); margin-top: 12px; }
.pg-footer-links { display: flex; align-items: center; gap: 21px; flex-wrap: wrap; font-size: .8125em; }
.pg-footer a { min-height: 44px; display: inline-flex; align-items: center; }
.pg-footer a:hover { text-decoration: underline; }
.pg-footer-bottom { border-top: 1px solid var(--pg-line); padding-top: 20px; display: flex; justify-content: space-between; gap: 25px; }
.pg-footer-bottom p { font-size: 11px; color: var(--pg-muted); line-height: 1.9; letter-spacing: 0; }
.pg-footer-bottom p a { min-height: 0; }
.pg-footer-bottom>div { display: flex; gap: 13px; font-size: 11px; color: var(--pg-muted); flex-wrap: wrap; align-content: flex-start; }
.pg-mobile-nav { display: none; }
.pg-dialog { border: 1px solid var(--pg-line); padding: 26px; border-radius: 12px; background: white; color: var(--pg-ink); width: min(620px,calc(100% - 32px)); max-height: 85dvh; overflow: auto; font: inherit; }
.pg-dialog::backdrop { background: #102b2373; }
.pg-dialog-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.pg-dialog h2 { font-size: 1.375em; }
.pg-dialog h2>span { font-size: .75em; color: var(--pg-muted); }
.pg-dialog-description { font-size: .875em; color: var(--pg-muted); margin: 12px 0 24px; }
.pg-saved-empty { text-align: center; padding: 24px 0; }
.pg-saved-empty>svg { width: 40px; height: 40px; color: var(--pg-forest); margin-bottom: 15px; }
.pg-saved-empty h3 { font-size: 1em; }
.pg-saved-empty p { font-size: .875em; color: var(--pg-muted); margin: 10px 0 24px; }
.pg-saved-row { display: flex; align-items: center; gap: 12px; border-top: 1px solid var(--pg-line); padding: 15px 0; }
.pg-saved-row>a { flex: 1; min-width: 0; min-height: 48px; }
.pg-saved-row strong { display: block; font-size: 1em; }
.pg-saved-row small { font-size: .8125em; color: var(--pg-muted); }
.pg-saved-row button { padding: 9px 13px; background: var(--pg-sage); border-radius: 5px; min-height: 44px; flex-shrink: 0; font-size: .8125em; }
.pg-all-menu { display: grid; grid-template-columns: 1fr 1fr; gap: 25px; margin-top: 25px; }
.pg-all-menu h3 { font-size: .875em; color: var(--pg-muted); padding-bottom: 8px; }
.pg-all-menu a { display: flex; align-items: center; justify-content: space-between; font-size: .9375em; min-height: 48px; border-bottom: 1px solid var(--pg-line); }
.pg-all-menu svg { width: 15px; }
.pg-toast { position: fixed; bottom: 25px; left: 50%; transform: translateX(-50%); z-index: 80; max-width: calc(100% - 32px); width: max-content; padding: 13px 20px; background: var(--pg-forest-dark); color: white; border-radius: 8px; font-size: .875em; pointer-events: none; }
.pg-home:has(dialog[open]) { overflow: hidden; }


@media (max-width:1100px) {
  .pg-wrap { padding:0 28px; }
  .pg-headline-grid { grid-template-columns:1fr 1fr; gap:24px; }
  .pg-lead-story .pg-story-copy { padding:21px 24px 24px; }
  .pg-lead-story h3 { font-size:1.4375em; }
  .pg-side-stories { gap:18px; }
  .pg-side-story { grid-template-columns:105px minmax(0,1fr); gap:14px; }
  .pg-side-story h3 { font-size:1em; }
  .pg-events { padding:18px; gap:16px; }
  .pg-event { padding:0 13px; }
  .pg-event-icon { display:none; }
  .pg-latest-list,.pg-magazine-grid,.pg-category-news-grid { gap:20px; }
  .pg-eyebrow { display:none; }
  .pg-guide-card { grid-template-columns:75px 1fr; padding-right:25px; }
  .pg-guide-orbit { width:60px; height:60px; }
  .pg-guide-copy h3 { font-size:.9375em; }
  .pg-region-news-grid { gap:20px; }
}
@media (max-width:800px) {
  .pg-header-description,.pg-edition { display:none; }
  .pg-header-inner { height:72px; }
  .pg-desktop-nav { gap:27px; }
  .pg-headline-grid { grid-template-columns:1.05fr 1fr; gap:20px; }
  .pg-side-stories { grid-template-columns:1fr; gap:18px; }
  .pg-side-story { display:grid; grid-template-columns:100px 1fr; gap:13px; align-items:start; }
  .pg-side-story .pg-story-image { aspect-ratio:1; margin:0; }
  .pg-side-story .pg-meta { margin-top:5px; }
  .pg-lead-story h3 { font-size:1.375em; }
  .pg-events { display:block; }
  .pg-events-heading { justify-content:space-between; margin-bottom:18px; }
  .pg-events-heading>div { display:flex; align-items:center; justify-content:space-between; width:100%; }
  .pg-event:first-child { border-left:0; padding-left:0; }
  .pg-latest-list,.pg-magazine-grid,.pg-category-news-grid,.pg-course-grid { grid-template-columns:1fr 1fr; gap:25px 20px; }
  .pg-region-news-grid { grid-template-columns:1fr 1fr; }
  .pg-guide-grid { gap:12px; }
  .pg-guide-card { display:flex; flex-direction:column; align-items:flex-start; padding:12px 20px 24px; }
  .pg-guide-art { height:70px; width:65px; }
  .pg-guide-number { font-size:68px; top:-7px; }
  .pg-guide-copy h3 { font-size:1em; }
  .pg-guide-card>svg { bottom:14px; }
  .pg-footer-top { align-items:flex-start; }
  .pg-footer-links { max-width:260px; justify-content:flex-end; }
  .pg-footer-bottom { flex-direction:column; gap:10px; }
}
@media (max-width:600px) {
  .pg-wrap { padding:0 20px; }
  html { scroll-padding-top:125px; }
  .pg-header-inner { height:66px; gap:12px; }
  .pg-brand { gap:8px; }
  .pg-brand-icon { width:40px; height:40px; }
  .pg-brand-wordmark { width:90px; }
  .pg-header-actions { gap:4px; }
  .pg-header-link { display:none; }
  .pg-desktop-nav { gap:24px; }
  .pg-desktop-nav a { min-height:46px; font-size:.875em; }
  .pg-news-toolbar { padding:17px 0 0; flex-direction:column; align-items:stretch; gap:12px; }
  .pg-page-title { display:flex; }
  .pg-search { width:100%; }
  .pg-search input { font-size:16px; }
  .pg-top-stories { margin-top:20px; }
  .pg-section-heading { margin-bottom:17px; gap:12px; }
  .pg-section-heading h2 { font-size:1.3125em; }
  .pg-more { font-size:.75em; }
  .pg-headline-grid { grid-template-columns:1fr; gap:22px; }
  .pg-lead-story .pg-story-image { min-height:0; flex:auto; aspect-ratio:1.65; }
  .pg-lead-story .pg-story-copy { padding:19px 22px 22px; }
  .pg-lead-story h3 { font-size:1.375em; line-height:1.5; }
  .pg-lead-story .pg-meta { font-size:.75em; }
  .pg-cover-label { left:15px; top:15px; }
  .pg-side-stories { grid-template-columns:1fr; gap:18px; }
  .pg-side-story { display:grid; grid-template-columns:96px minmax(0,1fr); gap:14px; }
  .pg-side-story .pg-story-image { aspect-ratio:1; margin-bottom:0; }
  .pg-side-story h3 { font-size:1em; -webkit-line-clamp:3; }
  .pg-side-story .pg-story-summary { -webkit-line-clamp:2; font-size:.8125em; }
  .pg-side-story .pg-category { font-size:.75em; }
  .pg-side-story .pg-meta { font-size:.6875em; }
  .pg-events { margin:28px 0 37px; padding:18px; }
  .pg-event-list { display:flex; overflow-x:auto; gap:18px; scroll-snap-type:x proximity; padding-bottom:8px; }
  .pg-event { flex:0 0 84%; padding:0 0 0 18px; scroll-snap-align:start; }
  .pg-event:first-child { padding-left:0; }
  .pg-event h3 { font-size:.9375em; }
  .pg-status,.pg-event-copy>small { font-size:.75em; }
  .pg-event-date { width:42px; }
  .pg-section { margin-bottom:38px; }
  .pg-latest-list { gap:25px 16px; }
  .pg-latest-story .pg-story-image { aspect-ratio:1.4; margin-bottom:12px; }
  .pg-latest-story h3 { font-size:1em; -webkit-line-clamp:3; }
  .pg-category { font-size:.75em; }
  .pg-meta { font-size:.6875em; }
  .pg-magazine,.pg-video-section { border-radius:0; margin-left:-20px; margin-right:-20px; padding:25px 20px 28px; }
  .pg-magazine-grid { gap:24px 16px; }
  .pg-magazine-card h3 { font-size:1em; }
  .pg-read-link { margin-top:11px; }
  .pg-guide-grid { grid-template-columns:1fr; gap:12px; }
  .pg-guide-card { display:grid; grid-template-columns:90px 1fr; min-height:112px; padding:10px 40px 10px 0; align-items:center; }
  .pg-guide-art { height:90px; width:90px; }
  .pg-guide-orbit { width:70px; height:70px; }
  .pg-guide-number { top:-5px; left:14px; }
  .pg-guide-copy>span { font-size:.75em; }
  .pg-guide-copy h3 { font-size:1.125em; margin-top:5px; }
  .pg-guide-card>svg { right:18px; bottom:44px; }
  .pg-news-filters { gap:7px; margin-bottom:18px; }
  .pg-news-filters button { padding:8px 16px; }
  .pg-region-news-grid { grid-template-columns:1fr; gap:20px; }
  .pg-region-news-grid .pg-news-column { padding:18px; }
  .pg-news-column>h3 { font-size:1em; }
  .pg-column-story h3 { font-size:1.0625em; }
  .pg-column-story .pg-story-image { aspect-ratio:1.85; }
  .pg-text-story h3 { font-size:.9375em; }
  .pg-column-story .pg-meta,.pg-text-story .pg-meta { font-size:.75em; }
  .pg-category-news-grid { gap:24px 16px; }
  .pg-category-news-grid .pg-column-story h3 { font-size:1em; -webkit-line-clamp:3; }
  .pg-category-news-grid .pg-story-image { aspect-ratio:1.4; }
  .pg-video-grid { display:flex; overflow-x:auto; gap:17px; scroll-snap-type:x proximity; padding-bottom:12px; }
  .pg-video-grid>a { flex:0 0 84%; scroll-snap-align:start; }
  .pg-video-grid h3 { font-size:1em; }
  .pg-course-toolbar { flex-wrap:wrap; gap:4px; margin-top:-4px; }
  .pg-course-toolbar>p { font-size:.8125em; }
  .pg-saved-filter { margin-left:auto; }
  .pg-course-grid { gap:24px 16px; }
  .pg-course-image { aspect-ratio:1.2; }
  .pg-course-meta>span:last-child { display:none; }
  .pg-course-location { bottom:8px; left:8px; font-size:.6875em; }
  .pg-footer { padding-bottom:95px; }
  .pg-footer-top { display:block; }
  .pg-footer-links { max-width:none; justify-content:flex-start; gap:3px 18px; margin-top:18px; font-size:.75em; }
  .pg-footer-bottom p,.pg-footer-bottom>div { font-size:10px; }
  .pg-mobile-nav { position:fixed; bottom:0; left:0; right:0; z-index:30; display:grid; grid-template-columns:repeat(5,1fr); background:#fff; border-top:1px solid var(--pg-line); padding:6px 8px calc(6px + env(safe-area-inset-bottom)); }
  .pg-mobile-nav a,.pg-mobile-nav button { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; min-height:50px; font-size:11px; font-weight:500; background:transparent; color:var(--pg-muted); }
  .pg-mobile-nav [aria-current] { color:var(--pg-forest); font-weight:750; }
  .pg-mobile-nav svg { width:21px; height:21px; }
  .pg-dialog { padding:19px; }
  .pg-dialog h2 { font-size:1.1875em; }
  .pg-dialog-description { font-size:.8125em; }
  .pg-all-menu { gap:20px 15px; }
  .pg-all-menu a { font-size:.875em; }
  .pg-toast { bottom:80px; font-size:.8125em; }
  .app-mode .pg-toast { bottom:20px; }
  .pg-large-text .pg-side-stories,.pg-large-text .pg-latest-list,.pg-large-text .pg-magazine-grid,.pg-large-text .pg-course-grid,.pg-large-text .pg-category-news-grid,.pg-large-text .pg-all-menu { grid-template-columns:1fr; }
  .pg-large-text .pg-section-heading { flex-wrap:wrap; gap:5px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .pg-story-image img,.pg-magazine-image img { transition:none; } }

/* App discovery belongs alongside editorial content, with a clear landing-page destination. */
.pg-header-app { display:inline-flex; align-items:center; gap:7px; min-height:44px; padding:8px 15px; border-radius:8px; background:var(--pg-forest); color:#fff; font-size:.8125em; font-weight:650; white-space:nowrap; }
.pg-header-app svg { width:17px; height:20px; }
.pg-header-app:hover { background:var(--pg-forest-dark); }
.pg-app-promo { display:grid; grid-template-columns:minmax(0,1fr) 300px; align-items:center; gap:24px; margin:0 0 58px; padding:34px 52px; border:1px solid #dce7d8; border-radius:16px; background:linear-gradient(115deg,#f0f6e9,#e5f1eb); overflow:hidden; }
.pg-app-signature { display:flex; align-items:center; gap:10px; margin-bottom:17px; color:var(--pg-forest); font-size:.8125em; font-weight:650; }
.pg-app-signature img { width:36px; height:36px; object-fit:contain; }
.pg-app-promo h2 { font-size:1.875em; font-weight:800; line-height:1.45; letter-spacing:-.055em; }
.pg-app-promo-copy>p { margin-top:12px; font-size:.9375em; color:#576c5d; word-break:keep-all; }
.pg-app-benefits { display:flex; flex-wrap:wrap; gap:8px 18px; list-style:none; padding:0; margin:20px 0 24px; }
.pg-app-benefits li { display:flex; align-items:center; gap:6px; font-size:.75em; color:#45634f; }
.pg-app-benefits svg { width:17px; height:17px; }
.pg-app-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px; }
.pg-app-actions .pg-button { min-height:48px; padding:12px 21px; font-size:.875em; border-radius:8px; font-weight:650; }
.pg-app-actions>span { font-size:.6875em; color:#637867; }
.pg-app-preview { position:relative; display:grid; place-items:center; min-width:0; isolation:isolate; }
.pg-app-preview>img { width:164px; height:auto; position:relative; filter:drop-shadow(0 10px 12px #173b251a); }
.pg-app-preview-orbit { position:absolute; width:280px; height:280px; border:1px solid #bed5ba; border-radius:50%; z-index:-1; background:#d9ead344; }
.pg-app-preview-orbit:after { content:''; position:absolute; inset:28px; border:1px solid #bed5ba; border-radius:50%; }
.pg-app-course-link { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px 18px; padding:18px 22px; background:var(--pg-sage); border-radius:10px; margin:-20px 0 46px; color:var(--pg-forest); font-size:.875em; }
.pg-app-course-link>span,.pg-app-course-link strong { display:flex; align-items:center; gap:9px; }
.pg-app-course-link strong { font-size:.875em; font-weight:650; min-height:32px; }
.pg-app-course-link svg { width:18px; height:18px; }

/* Registered ad placements are separated from news cards and app CTAs. */
.pg-ad-break { margin:0 0 46px; padding:16px 0 20px; border-block:1px solid var(--pg-line); background:#fafbf9; }
.pg-ad-label { display:flex; justify-content:center; align-items:center; gap:9px; margin-bottom:12px; font-size:11px; line-height:1.5; color:#727a71; }
.pg-ad-label>span { font-size:10px; letter-spacing:.08em; }
.pg-ad-unit { width:100%; max-width:970px; min-height:90px; margin:0 auto; }
.pg-ad-break:has(.adsbygoogle[data-ad-status="unfilled"]) { display:none; }
.pg-partner-ad .coupang-banner { margin:0 auto !important; }
.pg-partner-ad .coupang-banner>p { max-width:680px; padding:0 12px; margin:12px auto 0 !important; color:#6c766e !important; }
.pg-partner-ad .coupang-banner>div { justify-content:safe center !important; }
@media(max-width:1100px) {
  .pg-app-promo { grid-template-columns:minmax(0,1fr) 210px; padding:30px 34px; }
  .pg-app-preview-orbit { width:240px; height:240px; }
}
@media(max-width:800px) {
  .pg-header-link { display:none; }
  .pg-app-promo { grid-template-columns:minmax(0,1fr) 165px; gap:12px; padding:28px; }
  .pg-app-promo h2 { font-size:1.625em; }
  .pg-app-preview>img { width:145px; }
  .pg-app-preview-orbit { width:200px; height:200px; }
  .pg-ad-unit { min-height:100px; }
}
@media(max-width:600px) {
  .pg-header-app { min-height:40px; padding:8px 10px; font-size:12px; }
  .pg-header-app svg { display:none; }
  .pg-header-actions .pg-menu-button { display:none; }
  .pg-app-promo { grid-template-columns:minmax(0,1fr) 100px; align-items:start; gap:16px 10px; padding:24px 20px; margin-bottom:38px; position:relative; }
  .pg-app-promo-copy { display:contents; }
  .pg-app-signature { grid-column:1/-1; margin-bottom:0; font-size:.75em; }
  .pg-app-signature img { width:30px; height:30px; }
  .pg-app-promo h2 { grid-column:1; font-size:1.1875em; line-height:1.6; }
  .pg-app-promo-copy>p { grid-column:1; margin-top:0; font-size:.8125em; line-height:1.7; }
  .pg-app-preview { grid-column:2; grid-row:2/5; align-self:center; }
  .pg-app-preview>img { width:100px; }
  .pg-app-preview-orbit { width:145px; height:145px; }
  .pg-app-benefits { grid-column:1; margin:0; flex-direction:column; gap:9px; }
  .pg-app-benefits li { font-size:.6875em; }
  .pg-app-actions { grid-column:1/-1; flex-direction:column; align-items:stretch; gap:9px; text-align:center; margin-top:3px; }
  .pg-app-actions .pg-button { padding:12px 8px; font-size:.875em; }
  .pg-app-course-link { margin:-14px 0 32px; padding:15px 18px; font-size:.8125em; }
  .pg-ad-break { margin-bottom:34px; }
  .pg-partner-ad { margin-left:-20px; margin-right:-20px; }
}
@media(max-width:359px) {
  .pg-app-promo { padding:20px 16px; grid-template-columns:minmax(0,1fr) 82px; }
  .pg-app-preview>img { width:82px; }
  .pg-app-promo h2 { font-size:1.0625em; }
  .pg-app-benefits li { font-size:11px; }
}
