:root{--ink:#171717;--paper:#faf9f7;--purple:#8724b0;--petal:#e7bdc9;--rule:#d6d3d4;--muted:#626064;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Manrope',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.7 var(--sans);-webkit-font-smoothing:antialiased}h1,h2,h3,p,figure{margin:0}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:2px solid var(--purple);outline-offset:7px}a:hover{text-decoration:underline;text-underline-offset:6px}img{display:block;max-width:100%}em{font-weight:400}::selection{background:var(--petal);color:var(--ink)}.skip{position:absolute;top:-100px;left:15px;padding:10px;background:white;color:var(--ink);z-index:20}.skip:focus{top:15px}.masthead{height:102px;display:flex;justify-content:space-between;align-items:center;padding:0 5.6%;background:var(--ink);color:var(--paper);border-bottom:1px solid #ffffff25}.signature{display:flex;align-items:center;gap:6px;font:600 14px var(--sans);letter-spacing:2.2px;position:relative}.signature i{font:italic 40px/.7 var(--serif);letter-spacing:-2px;margin-left:15px;color:var(--petal);border-left:1px solid #ffffff50;padding-left:20px}.masthead nav{display:flex;align-items:center;gap:40px;font-size:13px}.masthead nav a:last-child{margin-left:24px}.masthead nav a:last-child span{margin-left:12px;color:var(--petal)}.cover{height:min(800px,calc(100svh - 102px));min-height:720px;max-height:850px;position:relative;background:var(--ink);color:var(--paper);isolation:isolate;overflow:hidden}.cover-photo{position:absolute;inset:0 0 0 38%;z-index:-2}.cover-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 85%;filter:grayscale(1);opacity:.88}.cover-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--ink),#17171700 28%),linear-gradient(0deg,#17171780,transparent 20%)}.cover-heading{position:relative;padding:49px 5.6% 0;width:80%}.overline{font-size:11px;letter-spacing:2px;display:flex;align-items:center;gap:15px;font-weight:600}.fine-line{width:30px;height:1px;background:var(--petal)}.cover h1{font:400 clamp(150px,18vw,260px)/.75 var(--serif);letter-spacing:-9px;margin-top:44px}.cover h1 em{display:block;font-size:.72em;line-height:1.05;letter-spacing:-5px;margin-left:6vw;color:var(--petal);white-space:nowrap}.cover-intro{position:absolute;left:5.6%;bottom:105px}.cover-intro p{font-size:15px;color:#e6e2e4;line-height:1.8;margin-bottom:26px}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:44px;border-bottom:1px solid var(--ink);padding:0 0 10px;font-size:13px;font-weight:600;min-height:36px}.text-link span{font-size:22px;font-weight:400;line-height:1}.text-link:hover{text-decoration:none;border-color:var(--purple);color:var(--purple)}.text-link.light{border-color:#eee;color:#eee;gap:60px}.text-link.light:hover{color:var(--petal);border-color:var(--petal)}.cover-side{position:absolute;right:25px;top:40px;writing-mode:vertical-rl;letter-spacing:2px;font-size:10px}.cover-bottom{position:absolute;bottom:27px;left:5.6%;right:5.6%;display:flex;align-items:center;justify-content:space-between;gap:30px;font-size:10px;letter-spacing:1px}.cover-bottom p{letter-spacing:.2px;color:#e0dddd}.scroll-cue{display:flex;align-items:center;gap:18px}.scroll-cue>span{font-size:24px;color:var(--petal)}.page-section{padding:110px 7%}.section-index{display:flex;gap:17px;align-items:baseline;font-size:11px;font-weight:600;letter-spacing:1.6px}.section-index>span{font:italic 22px var(--serif);letter-spacing:0;color:var(--purple)}.introduction{display:grid;grid-template-columns:1fr 3fr;gap:40px}.intro-body h2{font:400 clamp(42px,4.8vw,76px)/1.05 var(--serif);letter-spacing:-1.8px;margin:-10px 0 40px}.intro-body h2 em{color:var(--purple)}.intro-columns{display:grid;grid-template-columns:1fr 1fr;gap:50px;color:var(--muted);font-size:15px;max-width:840px}.artist-notes{margin:42px 0 0;padding-top:26px;display:grid;grid-template-columns:1fr 1fr;gap:50px;border-top:1px solid var(--rule)}.artist-notes dt{font-size:10px;letter-spacing:1.5px;color:var(--muted);margin-bottom:10px}.artist-notes dd{margin:0;font-size:13px}.movement{padding-top:65px;border-top:1px solid var(--rule)}.movement-heading{display:grid;grid-template-columns:1fr 1.5fr 1fr;align-items:start;gap:40px}.movement-heading h2{font:400 clamp(56px,6vw,94px)/.92 var(--serif);letter-spacing:-2px;margin-top:-8px}.movement-heading h2 em{color:var(--purple)}.movement-heading>p{justify-self:end;padding-top:10px;font-size:13px;color:var(--muted);line-height:1.9}/* Matching photo fields preserve the complete original frames and colors. */
.editorial-gallery{display:grid;grid-template-columns:1fr 1fr;gap:6%;margin-top:55px}
.photo-wrap{aspect-ratio:1290/1595}
.photo-wrap img{height:100%;width:100%;object-fit:contain}
.gallery-post-link{display:inline-flex;align-items:center;min-height:44px;font-size:11px;color:var(--muted);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.gallery-post-link:hover{color:var(--purple)}
figcaption{display:flex;justify-content:space-between;gap:15px;font-size:10px;letter-spacing:1px;margin-top:18px}.image-afterword{font:400 clamp(34px,3.5vw,54px)/1.1 var(--serif);margin-top:46px}.image-afterword em{color:var(--purple)}.gallery-end{display:flex;justify-content:space-between;align-items:center;margin-top:55px;border-top:1px solid var(--rule);padding-top:25px}.gallery-end p{font-size:11px;color:var(--muted)}.partnership{display:grid;grid-template-columns:1fr 3fr;gap:40px;background:#f2ecf8;border-top:1px solid #c9c1ce}.partnership h2{font:400 clamp(48px,5.6vw,86px)/1 var(--serif);letter-spacing:-2px;margin-top:-12px}.partnership h2 em{color:var(--purple)}.partnership-details{display:flex;gap:50px;justify-content:space-between;align-items:end;margin-top:40px}.partnership-details p{font-size:15px;max-width:330px;color:var(--muted)}.partnership-details .text-link{flex-shrink:0}.editorial-footer{padding:65px 5.6% 24px;background:var(--ink);color:var(--paper)}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:40px}.footer-wordmark{font:400 clamp(38px,5vw,72px) var(--serif);letter-spacing:-2px}.footer-wordmark em{color:var(--petal)}.social-links{display:flex;gap:32px;font-size:13px}.footer-bottom{border-top:1px solid #ffffff35;padding-top:24px;margin-top:50px;display:flex;justify-content:space-between;align-items:center;gap:25px;font-size:10px;letter-spacing:.8px;color:#d6d2d6}.footer-bottom>div{display:flex;gap:28px}.cover-heading{animation:appear 1s ease-out both}.cover-photo{animation:photo-appear 1.4s ease-out both}@keyframes appear{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes photo-appear{from{opacity:.3}to{opacity:1}}
@media(min-width:1600px){.cover{height:850px;max-height:none}.cover-photo{left:42%}.cover h1{font-size:270px}.cover-heading{padding-top:75px}.cover-intro{bottom:125px}}
@media(max-width:1050px) and (min-width:701px){.cover{min-height:680px}.cover h1{font-size:20vw}.cover-photo{left:32%}.cover-intro{bottom:95px}.introduction,.partnership{grid-template-columns:1fr 3.6fr;gap:25px}.section-index{gap:10px;font-size:9px}.partnership-details{align-items:start;flex-direction:column;gap:25px}.movement-heading{grid-template-columns:1fr 1.7fr .8fr}.masthead nav{gap:25px}.masthead nav a:last-child{margin-left:0}}
@media(max-width:700px){.masthead{height:auto;min-height:92px;padding:22px;gap:20px;align-items:flex-start}.signature{font-size:11px;letter-spacing:1.3px;display:block;line-height:1.3}.signature span{display:block}.signature i{display:none}.masthead nav{font-size:11px;gap:18px;align-self:center}.masthead nav a:last-child{margin-left:0}.masthead nav a:last-child span{display:none}.cover{height:auto;min-height:0;max-height:none;overflow:hidden;display:flex;flex-direction:column}.cover-heading{padding:35px 24px 0;width:100%}.overline{font-size:9px;letter-spacing:1.4px;gap:10px}.fine-line{width:20px}.cover h1{font-size:clamp(110px,30vw,200px);line-height:.77;letter-spacing:-5px;margin-top:27px}.cover h1 em{font-size:.65em;letter-spacing:-3px;margin-left:16vw;line-height:1.2}.cover-photo{position:relative;inset:auto;z-index:-2;order:2;height:auto;aspect-ratio:1/1.04;width:100%;margin-top:-12px}.cover-photo img{object-position:center 83%;opacity:.95}.cover-photo:after{background:linear-gradient(180deg,var(--ink) 0%,#17171700 22%,#17171700 83%,var(--ink) 100%)}.cover-intro{position:static;padding:18px 24px 0;order:3;display:flex;justify-content:space-between;align-items:end;gap:20px}.cover-intro p{font-size:12px;margin:0}.text-link{font-size:12px}.text-link.light{gap:24px}.cover-side{display:none}.cover-bottom{position:static;padding:28px 24px;order:4;gap:15px;font-size:9px;flex-wrap:wrap}.cover-bottom p{font-size:9px}.scroll-cue{gap:12px}.scroll-cue>span{font-size:20px}.page-section{padding:65px 24px}.introduction{grid-template-columns:1fr;gap:38px}.section-index{font-size:10px;gap:12px}.intro-body h2{font-size:42px;letter-spacing:-1px;margin-bottom:26px}.intro-columns{grid-template-columns:1fr;gap:20px;font-size:15px}.artist-notes{gap:22px;margin-top:30px}.artist-notes dd{font-size:12px}.movement-heading{grid-template-columns:1fr 1fr;gap:28px}.movement-heading .section-index{grid-column:1/-1}.movement-heading h2{font-size:60px}.movement-heading>p{font-size:11px}.editorial-gallery{gap:25px;margin-top:35px;grid-template-columns:1fr}figcaption{font-size:9px;gap:8px;letter-spacing:.4px}.image-afterword{font-size:38px;margin-top:28px}.gallery-end{margin-top:35px;align-items:start;flex-direction:column;gap:20px}.partnership{grid-template-columns:1fr;gap:40px}.partnership h2{font-size:49px;letter-spacing:-1.5px}.partnership-details{margin-top:25px;flex-direction:column;align-items:start;gap:28px}.partnership-details p{font-size:15px}.editorial-footer{padding:40px 24px 24px}.footer-top{align-items:start;flex-direction:column;gap:24px}.footer-wordmark{font-size:48px}.social-links{font-size:12px}.footer-bottom{margin-top:35px;align-items:start;flex-wrap:wrap;gap:22px;font-size:9px}.footer-bottom>div{gap:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cover-heading,.cover-photo{animation:none}}
.candid{display:grid;grid-template-columns:1fr 1.4fr;gap:9%;padding-top:95px;background:#f2ecf8;border-top:1px solid #dad3df}.candid-copy{padding-top:18px}.candid h2{font:400 clamp(52px,5.5vw,82px)/1 var(--serif);letter-spacing:-2px;margin:45px 0 30px}.candid h2 em{color:var(--purple)}.candid-copy>p{font-size:15px;color:var(--muted);max-width:320px;line-height:1.8;margin-bottom:36px}.candid-handle{display:block;font-size:12px;color:var(--purple);margin-top:15px}.candid-clips{display:grid;grid-template-columns:1fr 1fr;gap:25px}.clip-card:nth-child(2){margin-top:60px}.clip-image{position:relative;background:#c3b7c9}.clip-image img{width:100%;height:auto}.clip-category{font-size:9px;letter-spacing:1px;margin:18px 0 8px;color:var(--purple)}.clip-card h3{font:400 27px/1.1 var(--serif);letter-spacing:-.4px;margin:0 0 12px}.clip-watch{font-size:11px;border-bottom:1px solid #9a929e;padding-bottom:4px}.clip-card:hover{text-decoration:none}.clip-card:hover .clip-watch{color:var(--purple);border-color:var(--purple)}.partnership{background:var(--paper)}
@media(min-width:701px) and (max-width:1050px){.cover-heading{padding-top:35px}.cover h1{margin-top:24px}.candid{gap:6%}.candid-clips{gap:15px}.candid h2{font-size:58px}.clip-card h3{font-size:24px}}
@media(max-width:700px){.candid{grid-template-columns:1fr;gap:38px;padding-top:55px}.candid-copy{padding:0}.candid h2{font-size:58px;margin:28px 0 24px}.candid-copy>p{max-width:100%;margin-bottom:24px}.candid-clips{gap:18px}.clip-card:nth-child(2){margin-top:36px}.clip-card h3{font-size:24px}.clip-category{font-size:8px;letter-spacing:.5px}.clip-watch{font-size:10px}}

.masthead nav .brand-nav{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:6px 18px;border:1px solid #e7bdc980;color:var(--petal);transition:background .2s,color .2s}.masthead nav .brand-nav:hover{background:var(--petal);color:var(--ink);text-decoration:none}
@media(max-width:700px){.masthead{flex-wrap:wrap;gap:16px}.masthead nav{width:100%;justify-content:space-between;gap:10px;font-size:12px}.masthead nav .brand-nav{padding:6px 13px}}
/* Selected wordmark and the passion purple / lavender identity. */
:root{--purple:#8724b0;--lavender:#d8c6ea;--lavender-tint:#f2ecf8}
.masthead{height:120px;background:#fff;color:var(--ink);border-color:#e6dfeb}
.signature{display:block;flex:0 0 300px;letter-spacing:0;line-height:0}.signature img{width:300px;height:auto}
.masthead nav .brand-nav{border-color:var(--purple);color:var(--purple)}.masthead nav .brand-nav:hover{background:var(--purple);color:white}.masthead nav a:last-child span{color:var(--purple)}
.cover{height:min(800px,calc(100svh - 120px))}.cover h1 em,.scroll-cue>span{color:var(--lavender)}.fine-line{background:var(--lavender)}.text-link.light:hover{color:var(--lavender);border-color:var(--lavender)}
.candid{background:var(--lavender-tint)}
.editorial-footer{background:#fff;color:var(--ink)}.footer-wordmark{display:block;line-height:0;letter-spacing:0}.footer-wordmark img{width:360px;height:auto}.footer-bottom{border-color:#d8c6ea;color:var(--muted)}.social-links a:hover{color:var(--purple)}
@media(min-width:1600px){.cover{height:850px}}
@media(max-width:900px) and (min-width:701px){.signature{flex-basis:260px}.signature img{width:260px}.masthead{padding:0 4%}.masthead nav{gap:18px}}
@media(max-width:700px){.masthead{height:auto;min-height:0;padding:0 22px 18px;gap:0}.signature{flex-basis:100%;display:flex;justify-content:center}.signature img{width:280px}.masthead nav{margin-top:0}.cover{height:auto}.footer-wordmark img{width:300px;max-width:100%}.footer-top{gap:12px}}
/* Editorial hero: one title, one photograph, one credit. Source photography unchanged. */
.cover{height:clamp(660px,calc(100svh - 120px),850px);min-height:0;max-height:none}
.cover-heading{width:80%;padding:clamp(115px,12vw,190px) 5.6% 0}
.cover h1{margin-top:0}
.cover-photo{inset:0 0 0 40%;margin:0}
.cover-photo img{object-position:50% 100%;opacity:1}
.cover-photo:after{background:linear-gradient(90deg,var(--ink),#17171700 27%),linear-gradient(0deg,#17171780,transparent 17%)}
.cover-bottom{left:auto;right:5.6%;bottom:28px;justify-content:flex-end}
.cover-bottom p{font-size:10px;letter-spacing:.2px;color:#f1edf3}
.cover-bottom a{text-decoration:underline;text-underline-offset:3px}
@media(min-width:1600px){.cover-photo{left:42%}}
/* Portrait tablets get a composed vertical spread, not a compressed desktop crop. */
@media(min-width:701px) and (max-width:1100px) and (orientation:portrait){
 .cover{height:auto;display:flex;flex-direction:column}
 .cover-heading{padding:58px 7% 0;width:100%;z-index:1}
 .cover h1{font-size:clamp(155px,22vw,225px);letter-spacing:-6px;line-height:.75}
 .cover h1 em{font-size:.72em;line-height:1.05;margin-left:12vw;letter-spacing:-4px}
 .cover-photo{position:relative;inset:auto;order:2;aspect-ratio:1.16;width:100%;height:auto;margin:10px 0 0}
 .cover-photo img{object-position:50% 100%}
 .cover-photo:after{background:linear-gradient(180deg,var(--ink),#17171700 13%),linear-gradient(0deg,var(--ink),#17171700 10%)}
 .cover-bottom{position:static;order:3;padding:12px 7% 26px;margin:0;justify-content:flex-end}
}
/* Landscape tablets preserve the two-column relationship and the full movement. */
@media(min-width:701px) and (max-width:1100px) and (orientation:landscape){
 .cover{height:clamp(510px,calc(100svh - 120px),700px)}
 .cover-heading{padding-top:105px;width:85%}
 .cover h1{font-size:18vw}
 .cover-photo{left:36%}
 .cover-bottom{bottom:24px}
}
@media(max-width:700px){
 .cover{height:auto;min-height:0;display:flex;flex-direction:column}
 .cover-heading{width:100%;padding:42px 24px 8px;z-index:1}
 .cover h1{font-size:clamp(110px,30vw,200px);letter-spacing:-5px;line-height:.77;margin:0}
 .cover h1 em{font-size:.65em;letter-spacing:-3px;margin-left:16vw;line-height:1.2}
 .cover-photo{position:relative;inset:auto;order:2;width:100%;height:auto;aspect-ratio:1/1.04;margin:0}
 .cover-photo img{object-position:50% 100%;opacity:1}
 .cover-photo:after{background:linear-gradient(180deg,var(--ink),#17171700 17%),linear-gradient(0deg,var(--ink),#17171700 10%)}
 .cover-bottom{position:static;order:3;padding:12px 24px 24px;justify-content:flex-end;margin:0}
 .cover-bottom p{font-size:9px}
}
/* Keep the portrait crop independent of the image's intrinsic height. */
@media(max-width:700px), (min-width:701px) and (max-width:1100px) and (orientation:portrait){
 .cover-photo{overflow:hidden;flex-shrink:0}
 .cover-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
}
@media(min-width:701px) and (max-width:1100px) and (orientation:portrait){
 .cover-heading{padding-top:40px}
 .cover h1{font-size:clamp(150px,20vw,210px)}
 .cover-photo:after{background:linear-gradient(180deg,var(--ink),#17171700 9%),linear-gradient(0deg,var(--ink),#17171700 8%)}
}
.cover-bottom p{font-size:11px}

/* Clearly named relationships within Grace’s student journey. */
.artist-notes{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.artist-notes dd{font-weight:500}.artist-notes dd span{display:block;font-weight:400;color:var(--muted);font-size:12px;line-height:1.8;margin-top:8px}.artist-notes dd a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}@media(max-width:700px){.artist-notes{grid-template-columns:1fr;gap:22px}.artist-notes>div+div{padding-top:20px;border-top:1px solid var(--rule)}}
