/*
Theme Name: Luna Research Group
Author: Yi (Luna) Chen
Description: A light, modern research group theme with an editable home introduction, gallery slideshow, news, and standard WordPress pages.
Version: 0.1.3
Requires at least: 6.4
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: luna-group
*/
:root{--radius:12.5px;--ink:#44323E;--muted:#70616C;--gold:#A2D2FF;--paper:#FFFAFD;--line:#E4CFDF;--blush:#FFC8DD;--blue:#BDE0FE;--lavender:#CDB4DB;--plum:#784566;--section:#FFF1F7;--footer:#CDB4DB;--header:#FFFDFC;--surface:#FFFCFE}
*{box-sizing:border-box}html{height:100%;overflow:hidden}body{margin:0;height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden;color:var(--ink);background:var(--paper);font-family:Inter,"Helvetica Neue",Arial,sans-serif;font-size:18.75px;line-height:1.6;-webkit-font-smoothing:antialiased}body.admin-bar{height:calc(100vh - 32px);height:calc(100dvh - 32px)}
a{color:var(--plum);text-underline-offset:5px}a:hover{text-decoration-thickness:2.5px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3.75px solid var(--plum);outline-offset:5px}button{font:inherit;color:inherit}img{max-width:100%;height:auto}figure{margin:30px 0}h1,h2,h3{overflow-wrap:break-word}h2,h3{font-weight:500;letter-spacing:-.02em}h2{font-size:33.75px;line-height:1.35}h3{font-size:26.25px;line-height:1.4}.wrap{width:100%;max-width:1550px;margin:0 auto;padding-left:65px;padding-right:65px}
.site-header{flex:0 0 auto;position:relative;z-index:5;background:var(--header);border-bottom:1px solid var(--line)}.head{min-height:90px;padding-top:12.5px;padding-bottom:12.5px;display:flex;align-items:center;justify-content:space-between;gap:31.25px}.brand{min-width:0;color:var(--ink);text-decoration:none}.brand small{display:block;font-size:12.5px;color:var(--plum);font-weight:500;letter-spacing:.03em;margin-bottom:2.5px}.brand strong{display:block;font-size:31.25px;font-weight:600;letter-spacing:-.03em;line-height:1.35}#navigation{display:flex;gap:25px;font-size:15px;font-weight:500;flex-shrink:0}#navigation a{padding:8.75px 0;color:var(--ink);text-decoration:none;position:relative}#navigation a:hover,#navigation a[aria-current=page]{color:var(--plum)}#navigation a[aria-current=page]:after{content:'';height:2.5px;background:var(--plum);position:absolute;bottom:3.75px;left:0;right:0}.menu{display:none;background:var(--surface);font-size:15px;border:1px solid var(--line);padding:10px 15px;cursor:pointer;border-radius:var(--radius)}
#scroll-content{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;overscroll-behavior-y:contain}#scroll-content:focus-visible{outline:2.5px solid var(--plum);outline-offset:-2.5px}.site-footer{flex:0 0 auto;padding:11.25px 0;border-top:1px solid var(--line);background:var(--footer);position:relative;z-index:5}.foot{display:flex;align-items:center;gap:12.5px;color:var(--muted);font-size:12.5px}.foot strong{font-size:15px;font-weight:600;color:var(--ink)}
.hero{display:grid;grid-template-columns:minmax(0,40%) minmax(0,45%);gap:0 5%;justify-content:center;align-items:center;padding-top:56.25px;padding-bottom:56.25px}.hero-copy{min-width:0}.hero h1{font-size:55px;font-weight:500;letter-spacing:-.025em;line-height:1.16;margin:26.25px 0 31.25px}.hero p{color:var(--muted);font-size:18.75px;line-height:1.8;margin:18.75px 0}.hero .eyebrow,.eyebrow{font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--plum);font-weight:600}.hero .research-link{margin-top:31.25px;font-size:15px;font-weight:600}.research-link a,.textlink{display:inline-block;padding-bottom:7.5px;border-bottom:1px solid var(--gold);text-decoration:none;color:var(--plum)}
.visual{height:537.5px;position:relative;overflow:hidden;border-radius:var(--radius);background:var(--surface)}.slide{position:absolute;inset:0;opacity:0;transition:opacity 200ms ease;pointer-events:none}.slide.active{opacity:1;pointer-events:auto}.slide>img{width:100%;height:100%;object-fit:contain;display:block;padding:22.5px 25px 110px}.slide[data-fit=cover]>img,.slide>img.decorative{object-fit:cover;padding:0}.caption{position:absolute;bottom:25px;left:25px;max-width:calc(100% - 50px);background:rgba(255,250,248,.86);padding:15px 20px;border-radius:var(--radius);font-size:15px;line-height:1.6;color:var(--ink)}.caption a{color:var(--plum)}.carousel-controls{position:absolute;top:17.5px;right:17.5px;display:flex;align-items:center;gap:10px;opacity:0;pointer-events:none;transition:opacity 150ms ease}.visual:hover .carousel-controls,.visual:focus-within .carousel-controls{opacity:1;pointer-events:auto}.carousel-dots{display:flex;gap:2.5px;flex-wrap:wrap;max-width:275px;background:rgba(255,250,248,.9);padding:3.75px 6.25px;border-radius:var(--radius)}.dot{width:30px;height:30px;position:relative;border:0;padding:0;background:none;border-radius:var(--radius);cursor:pointer}.dot:after{content:'';position:absolute;inset:10px;border-radius:50%;background:#78456645}.dot.selected:after{background:var(--plum)}.pause-slides{border:0;padding:8.75px 15px;background:rgba(255,250,248,.9);border-radius:var(--radius);font-size:13.75px;cursor:pointer}
.lower{background:var(--section);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.news{padding-top:46.25px;padding-bottom:57.5px}.sectionhead{display:flex;align-items:baseline;justify-content:space-between;gap:25px;margin-bottom:31.25px}.sectionhead h2{font-weight:500;font-size:33.75px;letter-spacing:-.025em;margin:0}.sectionhead a{font-size:15px;text-decoration:none}.newslist{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32.5px}.newsitem{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--surface);display:flex;flex-direction:column;min-width:0}.postimage{height:200px;display:block;overflow:hidden}.postimage img{height:100%;width:100%;object-fit:cover;display:block}.postbody{padding:26.25px 27.5px 27.5px;display:flex;flex-direction:column;flex:1}.postmeta{font-size:12.5px;color:var(--plum);font-weight:600;letter-spacing:.02em}.newsitem h3{font-size:23.75px;font-weight:500;letter-spacing:-.02em;line-height:1.4;margin:12.5px 0}.newsitem h3 a{color:var(--ink);text-decoration:none}.newsitem h3 a:hover{text-decoration:underline}.newsitem p{font-size:16.25px;color:var(--muted);margin:0 0 26.25px}.readpost{font-size:15px;font-weight:500;margin-top:auto;text-decoration:none}.readpost span{margin-left:18.75px}.newsarchive{margin-top:37.5px;row-gap:37.5px}.empty-state{color:var(--muted);margin:25px 0}
.inner{padding-top:30px;padding-bottom:60px}.inner h1{font-size:55px;font-weight:500;letter-spacing:-.03em;line-height:1.2;margin:0 0 25px}.intro{max-width:812.5px;color:var(--muted)}.entry-content{overflow-wrap:break-word}.entry-content p,.entry-content li{line-height:1.85}.entry-content>p{max-width:1062.5px}.entry-content figure img,.post-featured img{border-radius:var(--radius)}.entry-content figcaption{font-size:15px;color:var(--muted)}.entry-content .wp-block-button__link{border-radius:var(--radius);background:var(--plum);font-size:17.5px}.entry-content .wp-block-columns{gap:32.5px}.entry-content table{border-collapse:collapse;width:100%}.entry-content th,.entry-content td{padding:15px;border:1px solid var(--line)}.entry-content blockquote{border-left:3.75px solid var(--lavender);margin:31.25px 0;padding:0 27.5px}.entry-content pre{overflow:auto;padding:25px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.postdetail{max-width:1000px;margin:0 auto}.postdetail h1{font-size:45px;line-height:1.2;margin:21.25px 0 25px}.back-news{display:inline-block;font-size:15px;margin-bottom:25px;text-decoration:none}.postlead{font-size:22.5px;line-height:1.7;color:var(--muted)}.post-featured img{width:100%;height:auto;object-fit:contain;display:block}.pagination{margin-top:43.75px}.nav-links{display:flex;flex-wrap:wrap;justify-content:space-between;gap:22.5px}.page-numbers{padding:6.25px 11.25px;border-radius:var(--radius)}.page-numbers.current{background:var(--lavender);color:var(--ink)}.post-navigation{border-top:1px solid var(--line);padding-top:30px;margin-top:50px;font-size:16.25px}.screen-reader-text{border:0;clip-path:inset(50%);height:1px;width:1px;margin:-1px;padding:0;overflow:hidden;position:absolute;white-space:nowrap}.skip-link:focus{clip-path:none;position:fixed;top:50px;left:25px;height:auto;width:auto;padding:15px 25px;background:var(--surface);z-index:100000}
@media(min-width:1875px){.wrap{max-width:1700px}}
@media(max-width:1375px){.wrap{padding-left:37.5px;padding-right:37.5px}.head{gap:20px}#navigation{gap:17.5px}.foot{gap:15px}}
@media(max-width:1250px){.head{flex-wrap:wrap;gap:10px}.brand{flex:1}.menu{display:block;flex-shrink:0}#navigation{display:none;width:100%;flex-wrap:wrap;gap:5px 25px}#navigation.open{display:flex}.newslist{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:782px){body.admin-bar{height:calc(100vh - 46px);height:calc(100dvh - 46px)}#wpadminbar{position:fixed!important}}
@media(max-width:950px){.wrap{padding-left:28.75px;padding-right:28.75px}.head{padding-top:10px;padding-bottom:10px}.hero{grid-template-columns:1fr;gap:25px;padding-top:37.5px;padding-bottom:43.75px}.visual{height:437.5px}.newslist{grid-template-columns:1fr}.inner{padding-top:25px}.sectionhead{align-items:center}.sectionhead a{flex-shrink:0}.foot{align-items:center}.foot span{display:none}.site-footer{padding:7.5px 0}.entry-content .wp-block-columns{gap:25px}}
@media(hover:none){.carousel-controls{opacity:1;pointer-events:auto}}
@media(prefers-reduced-motion:reduce){.slide,.carousel-controls{transition:none}}

/* Group identity and footer credit. */
.brand{display:flex;align-items:center;gap:14px}.brand-copy{min-width:0}.group-logo{display:block;width:52px;height:52px;object-fit:contain;flex:0 0 52px;border-radius:var(--radius)}.foot{justify-content:space-between;flex-wrap:wrap;gap:6px 20px}.footer-affiliation{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px}.footer-credit{font-size:12.5px;text-align:right;margin-left:auto}.footer-credit a{color:var(--ink);text-decoration:none}.footer-credit a:hover{text-decoration:underline}
@media(max-width:950px){.foot{flex-wrap:nowrap;align-items:flex-start}.footer-affiliation{max-width:45%}.footer-credit{max-width:52%;font-size:12.5px}.group-logo{width:44px;height:44px;flex-basis:44px}.brand{gap:10px}}
