:root {
 --paper:#f8f4eb; --white:#fffcf6; --ink:#211e19; --muted:#5f564a;
 --gold:#86571f; --honey:#d8ae72; --line:#d7c9b3; --dark:#211d18;
 --serif:"Playfair Display","Noto Serif KR",Georgia,serif;
 --sans:"DM Sans",system-ui,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans)}
body.menu-open{overflow:hidden}
img{display:block;max-width:100%;height:auto}
figure,p{margin:0}
p+p{margin-top:1em}
h1,h2,h3,h4{font-family:var(--serif);line-height:1.1;margin:0;font-weight:600;text-wrap:balance}
h1,h2{letter-spacing:-.055em}
h2{font-size:clamp(38px,5.7vw,79px)}
h3{font-size:clamp(23px,2.35vw,35px)}
em{font-weight:500;color:var(--gold)}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid #a66c29;outline-offset:4px}
[hidden]{display:none!important}
.container{width:min(1320px,calc(100% - 100px));margin-inline:auto}
.section-pad{padding:clamp(66px,9vw,135px) 0}
.section-kicker,.chapter-label{font-size:11px;letter-spacing:.15em;text-transform:uppercase;font-weight:750;color:var(--gold)}
.skip-link{position:fixed;top:12px;left:12px;z-index:200;padding:8px 14px;background:var(--white);transform:translateY(-180%)}
.skip-link:focus{transform:none}
.site-header{position:sticky;top:0;z-index:40;background:#f8f4ebfa;border-bottom:1px solid var(--line)}
.admin-bar .site-header{top:32px}
.site-header::after{content:"";position:absolute;bottom:-1px;left:0;width:100%;height:2px;background:#9c6b34;transform-origin:left;transform:scaleX(var(--reading,0))}
.header-inner{max-width:1600px;margin:auto;min-height:82px;padding:0 clamp(18px,3.6vw,58px);display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:inline-flex;flex:0 0 auto}
.brand-logo-original{width:72px;height:72px;object-fit:contain}
.desktop-nav,.header-actions,.social-links{display:flex;align-items:center;gap:clamp(10px,1.6vw,24px)}
.desktop-nav a,.student-login{font-size:13px;font-weight:700;white-space:nowrap}
.desktop-nav a:hover,.student-login:hover{color:var(--gold);text-decoration:underline;text-underline-offset:4px}
.desktop-nav svg{vertical-align:middle}
.student-login{display:flex;gap:6px;align-items:center}
.social-links{gap:8px;flex-wrap:wrap}
.social-links a,.social-links .social-pending{display:grid;place-items:center;width:32px;height:32px;border:1px solid currentColor;border-radius:50%}
.social-links .social-pending{opacity:.42}
.social-links a:hover{background:var(--honey);color:var(--ink)}
.mobile-toggle,.mobile-menu{display:none}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:13px 20px;min-height:50px;background:var(--ink);border:1px solid var(--ink);color:#fff9ee;font-size:13px;font-weight:750;line-height:1.25;text-align:center;transition:background .2s,color .2s}
.btn:hover{background:#6c4725;border-color:#6c4725}
.btn svg{flex:none}
.btn-small{min-height:39px;padding:9px 12px}
.btn-light{background:var(--white);border-color:var(--white);color:var(--ink)}
.btn-light:hover{color:var(--white)}
.underlined-link{display:inline-flex;align-items:center;gap:8px;border-bottom:1px solid var(--gold);padding:3px 0;font-size:13px;font-weight:750}
.underlined-link:hover{color:var(--gold)}
.center-link{margin-top:25px;text-align:center}
.opening{max-width:1600px;margin:auto;display:grid;grid-template-columns:.88fr 1.12fr;align-items:stretch;padding:28px clamp(24px,4.4vw,74px) 0}
.opening-copy{display:flex;align-items:flex-start;justify-content:center;flex-direction:column;padding:38px 24px 49px 0}
.opening-kicker{display:flex;align-items:center;gap:10px;margin-bottom:22px}
.opening-kicker span{width:24px;height:1px;background:currentColor}
.opening h1{font-size:clamp(53px,7.25vw,110px);line-height:.99;position:relative;z-index:1}
.opening h1 em{font-size:.74em;display:inline-block;line-height:1.16}
.opening-lead{max-width:36ch;margin-top:25px;color:var(--muted);font-size:clamp(16px,1.55vw,21px)}
.opening-actions{display:flex;gap:14px 22px;align-items:center;flex-wrap:wrap;margin-top:25px}
.opening-art{min-height:clamp(455px,45vw,660px);position:relative;overflow:hidden;background:#a18a65}
.opening-art img{height:100%;width:100%;position:absolute;inset:0;object-fit:cover;object-position:55% 50%}
.opening-art figcaption{position:absolute;bottom:0;left:0;background:#241d16e8;color:#fff4df;display:flex;align-items:center;gap:15px;padding:12px 18px;font:600 17px var(--serif)}
.opening-art figcaption span{font:700 10px var(--sans);letter-spacing:.07em;text-transform:uppercase}
.opening-art figcaption span:first-child{color:#e5bb7e}
.opening-index{grid-column:1/-1;display:flex;justify-content:space-between;gap:16px;align-items:center;font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);border-bottom:1px solid var(--line);padding:15px 0}
.opening-index a{font-weight:700}
.opening-index a span{margin-left:5px}
.chapter-label{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);padding:13px 0 0;margin-bottom:30px}
.chapter-label span:first-child{font-family:var(--serif);font-size:17px;color:var(--ink)}
.chapter-label span:last-child{margin-left:auto}
.chapter-head{display:grid;grid-template-columns:1.4fr 1fr;gap:25px;align-items:end;margin-bottom:34px}
.chapter-head p,.teacher-layout p,.paper-copy p:not(.section-kicker){max-width:43ch;color:var(--muted);margin-top:15px}
.lesson-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-block:1px solid var(--line)}
.lesson-board article{padding:23px clamp(12px,2vw,31px) 28px;background:var(--white);min-height:180px}
.lesson-board article+article{border-left:1px solid var(--line)}
.lesson-board article>span{color:var(--gold);font-size:12px;font-weight:800}
.lesson-board h3{margin:13px 0 8px}
.lesson-board p{font-size:14px;color:var(--muted)}
.duration-panel{margin-top:32px;padding:24px 27px;background:#ece0cc;display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center}
.duration-copy h3{margin:5px 0}
.duration-copy p:last-child{font-size:14px}
.duration-list{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}
.duration-chip{border:1px solid #b6a38a;min-height:45px;background:#fff8ec;color:var(--ink);font-weight:750}
.duration-chip:hover,.duration-chip.is-active{background:var(--ink);border-color:var(--ink);color:#fff9ed}
.duration-bottom{margin-top:10px}
.paper-story{background:#e9dfcd;padding:clamp(53px,7vw,100px) 0}
.paper-grid{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:clamp(20px,6vw,100px)}
.paper-photo,.portrait{position:relative;background:#bfaa86}
.paper-photo img{width:100%;aspect-ratio:1.2;object-fit:cover}
.paper-photo figcaption,.portrait figcaption{position:absolute;bottom:0;left:0;background:#252018;color:#f8ead3;padding:9px 12px;font-size:11px;letter-spacing:.09em}
.paper-copy h2{font-size:clamp(35px,4.75vw,68px);margin-top:9px}
.paper-copy a{margin-top:15px}
.portal-strip{display:grid;grid-template-columns:1.2fr 1fr auto;align-items:center;gap:20px;margin-top:32px;padding:23px 0 0;border-top:1px solid #b9a789}
.portal-strip h3{font-size:clamp(20px,2.3vw,30px);margin-top:5px}
.portal-strip p{font-size:14px}
.ink-interlude{display:grid;min-height:clamp(260px,40vw,570px);isolation:isolate;position:relative;overflow:hidden}
.ink-interlude img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:50% 50%;z-index:-2;transform:translateY(var(--image-shift,0)) scale(1.08)}
.ink-interlude p{justify-self:end;align-self:center;margin-right:11%;padding:16px 25px;background:#f7eedbd9;color:#382c20;font:500 clamp(27px,4vw,57px)/1.42 var(--serif);letter-spacing:-.035em}
.teacher-layout{display:grid;grid-template-columns:1fr .8fr;align-items:center;gap:clamp(25px,8vw,130px)}
.portrait img{width:100%;aspect-ratio:1.02;object-fit:cover;object-position:center 43%}
.final-chapter{min-height:clamp(450px,49vw,680px);position:relative;isolation:isolate;display:grid;align-items:center;color:#fff9ee;overflow:hidden;background:var(--dark);padding:56px 0}
.final-chapter img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.final-chapter::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#1d1712f5,#1d1712b5 52%,#1d171231);z-index:-1}
.final-chapter :is(em,.section-kicker),.closing-cta :is(em,.section-kicker){color:#ebc48c}
.final-chapter h2,.closing-cta h2{margin:10px 0 15px}
.final-chapter p:not(.section-kicker){max-width:43ch;color:#fff5df}
.final-chapter .btn{margin-top:22px}
.site-footer{padding:46px 0 18px;background:#211d18;color:#f6eddf}
.footer-top{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:24px}
.footer-brand .brand{padding:5px;background:var(--paper);margin-bottom:12px}
.footer-brand p{max-width:25ch;font-size:13px;margin-bottom:12px}
.footer-col{display:flex;flex-direction:column;align-items:flex-start;gap:7px;font-size:13px;overflow-wrap:anywhere}
.footer-col h4{font:750 11px var(--sans);text-transform:uppercase;letter-spacing:.14em;color:#e9c998;margin-bottom:8px}
.footer-col a:hover{text-decoration:underline}
.footer-bottom{margin-top:28px;border-top:1px solid #706052;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:14px;font-size:11px;color:#e9dbca}
/* Shared WordPress pages */
.page-hero{background:linear-gradient(90deg,#f8f4eb 8%,#f8f4ebe8 51%,#f8f4eb7c),url('../images/ink-landscape.webp') center 55%/cover;border-bottom:1px solid var(--line);padding:clamp(62px,8vw,125px) 0;overflow:hidden}
.page-hero-inner{position:relative}
.page-hero h1{font-size:clamp(44px,7vw,98px);margin:12px 0;max-width:15ch}
.page-hero p{max-width:54ch}
.page-hero-hangul{position:absolute;right:0;top:0;font:600 clamp(55px,12vw,150px) var(--serif);color:#76572926;pointer-events:none}
.section-head{margin-bottom:28px}
.section-head-centered{text-align:center}
.section-head p,.section-head h2{margin:10px auto}
.section-head p{max-width:58ch}
:is(.bio-grid,.story-grid,.contact-grid,.login-grid,.lesson-two-col,.faq-grid){display:grid;grid-template-columns:1fr 1fr;gap:clamp(25px,6vw,90px);align-items:start}
:is(.bio-text,.story-copy,.login-intro,.lesson-info,.contact-info,.faq-grid,.content-page) :is(h2,h3){margin-bottom:12px}
:is(.bio-text,.story-copy,.login-intro,.lesson-info,.contact-info) p{margin-bottom:13px}
.bio-image,.story-visual{position:relative}
.bio-image img{width:100%;max-height:560px;object-fit:cover;object-position:center 40%}
.bio-image-stamp,.story-label{background:var(--ink);color:var(--white);padding:8px 12px;display:inline-block}
.story-visual{min-height:325px;background:linear-gradient(#f4e8d8b0,#f4e8d8a0),url('../images/ink-landscape.webp') center/cover;padding:36px;display:grid;align-content:center}
.story-hanok{display:none}
.story-year{font:600 clamp(70px,11vw,125px)/1 var(--serif)}
.bio-signature,.edu-nr{color:var(--gold);font-family:var(--serif)}
.values-section,.education-section,.paths-section,.faq-section,.login-section{background:#efe7d9}
:is(.values-grid,.education-grid,.service-grid,.lesson-duration-grid){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
:is(.value-card,.edu-card,.service-card,.lesson-duration,.contact-form-wrap,.login-box,.facebook-card){background:var(--white);padding:clamp(16px,2.7vw,35px);border:1px solid var(--line)}
:is(.value-card,.edu-card,.service-card,.lesson-duration) h3{margin:8px 0}
.lesson-duration.featured{background:#e9dac1}
.teacher-extra,.facebook-card{max-width:900px}
.timeline{display:grid;gap:10px;max-width:900px;margin:auto}
.timeline-item{border-bottom:1px solid var(--line);padding:12px 0;display:flex;align-items:flex-start;gap:18px}
.timeline-item>span{min-width:54px;color:var(--gold);font-weight:750}
.check-list{padding-left:0;list-style:none}
.check-list li{display:flex;gap:8px;align-items:flex-start;margin:9px 0}
.check-list svg{flex:none;margin-top:4px;color:var(--gold)}
.quote-interlude,.closing-cta{text-align:center;padding:clamp(55px,8vw,110px) 0}
.quote-interlude{background:#eadac2}
.quote-interlude p{font:500 clamp(24px,4vw,52px)/1.24 var(--serif)}
.closing-cta{color:#fff9ee;background:linear-gradient(#271f16ba,#271f16e8),url('../images/hanok-door.webp') center/cover}
.closing-cta .btn{margin-top:18px;background:#fff3dc;color:var(--ink)}
.cta-ornament,.tiny-flower,.facebook-decor,.reviews-ornament{color:var(--gold)}
.faq-list details{border-bottom:1px solid var(--line);padding:12px 0}
.faq-list summary{font-weight:700;cursor:pointer}
.faq-answer{font-size:14px;padding:8px 0;color:var(--muted)}
.facebook-card,.reviews-invite{display:grid;gap:15px;justify-items:start}
.reviews-invite{border-top:1px solid var(--line);padding-top:20px}
.contact-detail{display:flex;gap:10px;align-items:flex-start;margin:13px 0;overflow-wrap:anywhere}
.contact-detail svg{flex:none;margin-top:3px}
.contact-postcard{background:#eee0cb;margin-top:20px;padding:20px}
.form-top{margin-bottom:15px}
:is(.kns-form,#loginform) label:not(.form-check){display:block;font-size:13px;font-weight:700}
:is(.kns-form,#loginform) :is(input:not([type=checkbox]),textarea,select){display:block;width:100%;padding:9px 10px;background:#fffefb;border:1px solid #aa9a83;color:var(--ink);margin:3px 0 12px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 10px}
.form-trap{position:absolute;left:-10000px}
.form-check{display:flex;align-items:flex-start;gap:8px;font-size:13px;margin:10px 0}
.form-fine,.social-hint,.login-meta{font-size:13px;margin-top:9px}
.form-notice{padding:10px;background:#f0dfc3;margin-bottom:12px}
.form-notice.error{border-left:3px solid #9c3c27}
.login-out,.login-meta a{display:inline-block;margin-top:12px;text-decoration:underline}
.content-page{min-height:200px}
.image-reveal{isolation:isolate;overflow:hidden}
.image-reveal.is-unveiling::after{content:"";position:absolute;inset:0;background:#b28852;z-index:3;pointer-events:none;transform-origin:right;animation:unveil .68s cubic-bezier(.24,.74,.24,1) forwards}
@keyframes unveil{from{transform:scaleX(1)}to{transform:scaleX(0)}}
@media(max-width:1320px){.header-socials{display:none}.desktop-nav,.header-actions{gap:clamp(8px,1vw,15px)}}
@media(max-width:1100px){
 .desktop-nav,.header-actions{display:none}
 .mobile-toggle{display:grid;place-items:center;min-width:44px;min-height:44px;border:1px solid var(--line);background:transparent;color:var(--ink)}
 .mobile-menu{display:grid;position:absolute;top:100%;inset-inline:0;max-height:calc(100dvh - 88px);overflow:auto;background:var(--paper);padding:12px 23px 20px;border-bottom:1px solid var(--line)}
 .mobile-menu>a{padding:9px 0;border-bottom:1px solid var(--line);font-weight:700}
 .mobile-menu-social{margin-top:12px}
}
@media(max-width:740px){
 .admin-bar .site-header{top:46px}
 .container{width:calc(100% - 36px)}
 .header-inner{min-height:65px}
 .brand-logo-original{width:58px;height:58px}
 .opening{grid-template-columns:minmax(0,1fr);padding:0 18px}
 .opening-copy{padding:34px 0 21px}
 .opening h1{font-size:clamp(51px,12vw,80px)}
 .opening-kicker{margin-bottom:12px}
 .opening-lead{margin-top:13px;font-size:15px}
 .opening-actions{margin-top:17px;gap:10px 14px}
 .opening-art{min-height:0;aspect-ratio:1.1}
 .opening-art figcaption{padding:7px 9px;gap:8px}
 .opening-index span:last-child:not([aria-hidden]){display:none}
 .chapter-head,.paper-grid,.duration-panel,.portal-strip,.teacher-layout,.footer-top,:is(.bio-grid,.story-grid,.contact-grid,.login-grid,.lesson-two-col,.faq-grid){grid-template-columns:minmax(0,1fr)}
 .chapter-head{gap:5px}
 .lesson-board{grid-template-columns:repeat(2,minmax(0,1fr))}
 .lesson-board article{min-height:0;padding:13px 12px 16px}
 .lesson-board article:nth-child(3){border-left:0}
 .lesson-board article:nth-child(n+3){border-top:1px solid var(--line)}
 .duration-panel{padding:14px;gap:14px}
 .paper-photo img,.portrait img{aspect-ratio:1.26}
 .ink-interlude p{margin-right:6%;padding:8px 11px}
 .footer-top{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}
 .footer-brand,.footer-col:last-child{grid-column:1/-1}
 .final-chapter::after{background:#1d1712b5}
 :is(.values-grid,.education-grid,.service-grid,.lesson-duration-grid){grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:365px){.form-grid,:is(.values-grid,.education-grid,.service-grid,.lesson-duration-grid){grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.image-reveal.is-unveiling::after{display:none}.ink-interlude img{transform:none}.site-header::after{display:none}.btn{transition:none}}

.contact-email-stack{display:grid;gap:3px;min-width:0}
.contact-email-stack a{overflow-wrap:anywhere}
.price-table{width:100%;border-collapse:collapse;table-layout:fixed;background:var(--white);font-variant-numeric:tabular-nums}
.price-table caption{text-align:left;padding:0 0 10px;color:var(--muted)}
.price-table th,.price-table td{padding:13px clamp(5px,2vw,24px);border:1px solid var(--line);text-align:left}
.price-table thead{background:var(--ink);color:var(--white)}
.prices-note,.integration-note{margin-top:14px;color:var(--muted)}
.page-hero .integration-note{margin-top:14px}
.btn:disabled{opacity:.63;cursor:default}
.booking-placeholder,.lecture-next{padding:clamp(22px,5vw,58px);background:#eadcc5;border:1px solid var(--line)}
.booking-placeholder h2,.lecture-next h2{margin:9px 0 15px}
.booking-placeholder .btn,.lecture-next .btn{margin-top:16px}
.booking-frame{display:block;width:100%;min-height:690px;border:1px solid var(--line);background:var(--white)}
.lecture-next{background:var(--ink);color:var(--white)}
.lecture-next .section-kicker{color:var(--honey)}
.lecture-archive{margin-top:clamp(37px,6vw,82px)}
.lecture-list{list-style:none;margin:0;padding:0}
.lecture-list li{display:grid;grid-template-columns:minmax(125px,.35fr) 1fr;gap:12px;padding:16px 0;border-top:1px solid var(--line);align-items:center}
.lecture-list time{color:var(--gold);font-size:13px;font-weight:700}
@media(max-width:470px){.price-table{font-size:12px}.price-table th,.price-table td{padding:9px 5px}.lecture-list li{grid-template-columns:1fr;gap:4px}}

.quote-grid,.facebook-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.quote-card{background:var(--white);border:1px solid var(--line);border-top:3px solid var(--gold);padding:clamp(16px,3vw,32px)}
.quote-card h3{margin:12px 0}
.quote-index{font-size:11px;font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:var(--gold)}
.review-source{font-size:13px;margin:18px 0 32px;color:var(--muted)}
.facebook-review-grid:empty{display:none}
.facebook-review-grid:not(:empty){margin-bottom:32px}
.facebook-review-embed iframe{display:block;width:100%;border:1px solid var(--line);background:var(--white)}
.mobile-dock{display:none}
@media(max-width:740px){
 html{scroll-padding-top:78px;scroll-padding-bottom:85px}
 body{overflow-x:clip}
 .header-inner{min-height:68px}
 .mobile-toggle{display:flex;align-items:center;gap:10px;padding:6px 13px;border:0;background:var(--ink);color:var(--white);font-size:13px;font-weight:750}
 .mobile-menu{background:var(--ink);color:var(--white);padding:12px 23px 25px;max-height:calc(100dvh - 70px)}
 .mobile-menu>a{border-color:#645443;padding:10px 0}
 .mobile-dock{display:grid;position:fixed;z-index:39;bottom:0;inset-inline:0;grid-template-columns:.75fr 1.2fr 1.05fr;gap:4px;padding:6px 8px calc(6px + env(safe-area-inset-bottom));background:var(--ink);color:var(--white)}
 .mobile-dock a{display:grid;justify-items:center;align-content:center;gap:2px;min-height:49px;padding:3px;font-size:11px;font-weight:750;line-height:1.2;text-align:center}
 .mobile-dock-book{background:#ebc48c;color:var(--ink)}
 .menu-open .mobile-dock{display:none}
 .site-footer{padding-bottom:calc(80px + env(safe-area-inset-bottom))}
 .opening{padding:0;grid-template-areas:"art" "copy" "index"}
 .opening-art{grid-area:art;aspect-ratio:1.21}
 .opening-art img{object-position:55% 42%}
 .opening-art figcaption{bottom:32px;top:auto;left:12px;background:#241d16ed}
 .opening-copy{grid-area:copy;position:relative;z-index:1;margin:-22px 12px 0;padding:25px 17px 20px;background:var(--paper);border-top:2px solid #b88a52}
 .opening h1{font-size:clamp(44px,13vw,80px)}
 .opening h1 em{font-size:.72em}
 .opening-index{grid-area:index;grid-column:auto;margin-inline:18px}
 .chapter-label{border-top:2px solid #b88a52;margin-bottom:20px}
 .lesson-board article{background:var(--white)}
 .lesson-board article:nth-child(2),.lesson-board article:nth-child(3){background:#f0e4d1}
 .paper-photo{margin-inline:-18px}
 .portal-strip{border-top:2px solid #b88a52}
 .quote-grid,.facebook-review-grid{grid-template-columns:1fr}
 .quote-card h3{font-size:27px}
 .final-chapter{min-height:460px;align-items:end;padding-bottom:32px}
 .final-chapter::after{background:linear-gradient(0deg,#1d1712f5,#1d171265 72%,#1d171230)}
}

.opening-art picture { display: block; }
.bio-image img { width: 100%; height: auto; max-height: 660px; object-fit: contain; }
@media (max-width: 900px) {
 .opening { grid-template-columns: minmax(0, 1fr); grid-template-areas: "art" "copy" "index"; }
 .opening-art { grid-area: art; aspect-ratio: 1.25; }
 .opening-art img { object-position: center 39%; }
 .opening-copy { grid-area: copy; }
 .opening-index { grid-area: index; grid-column: auto; }
}
