/* Homepage gallery entrance. Kept separate so gallery pages retain their own style. */
#student-projects{--entry-ink:var(--text-primary);--entry-muted:var(--text-secondary);--entry-accent:var(--green-primary);--entry-paper:#f6f4e8;margin-top:34px;scroll-margin-top:112px}
#student-projects .works-entry{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(32px,4vw,72px);align-items:center;max-width:1380px;margin:0 auto;padding:30px 0 22px}
.works-entry__copy{position:relative;z-index:2;padding:12px 0 26px}
.works-entry__eyebrow{display:flex;align-items:center;gap:16px;margin:0 0 28px;font-size:13px;letter-spacing:.06em;color:var(--entry-muted)}
.works-entry__eyebrow strong{color:var(--entry-accent);font-weight:650;letter-spacing:.025em}
.works-entry__eyebrow>span{padding-left:16px;border-left:1px solid var(--border-green)}
.home-page #student-projects #student-projects-title{margin:0;color:var(--entry-ink);font-size:clamp(32px,3.2vw,54px);font-weight:650;letter-spacing:-.045em;line-height:1.3;text-wrap:initial;white-space:nowrap}
#student-projects-title em{font-style:normal;color:var(--entry-accent)}
.works-entry__description{margin:26px 0 34px;color:var(--entry-muted);font-size:clamp(14px,1.1vw,17px);line-height:1.95;max-width:30em}
.works-entry__cta{display:inline-flex;align-items:center;gap:34px;min-height:56px;padding:15px 25px;background:var(--entry-accent);color:#142811;border:1px solid transparent;border-radius:10px;font-size:16px;font-weight:700;transition:background .2s,transform .2s,box-shadow .2s}
.works-entry__cta i{font-size:22px;transition:transform .2s}
.works-entry__cta:hover{background:var(--green-light);box-shadow:0 8px 24px #0002;transform:translateY(-2px)}
.works-entry__cta:hover i{transform:translate(2px,-2px)}
.works-entry__cta:active{transform:translateY(0)}
.works-entry__note{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--entry-muted);margin:17px 0 0}
.works-entry__note i{font-size:17px}
.works-entry__showcase{position:relative;isolation:isolate;min-width:0;height:clamp(420px,37vw,585px);margin:0 4px 0 0}
.entry-preview{position:absolute;display:block;padding:7px;background:var(--entry-paper);border:1px solid #ffffff80;border-radius:13px;box-shadow:0 18px 45px #0005;transition:transform .3s ease,box-shadow .3s ease;transform-origin:center;color:#173e35}
.entry-preview img{display:block;width:100%;height:auto;aspect-ratio:1.6;object-fit:cover;object-position:top;border-radius:7px;pointer-events:none}
.entry-preview__caption{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 8px 8px;font-size:13px;line-height:1.3;color:#315347}
.entry-preview__caption strong{font-size:15px;font-weight:700}
.entry-preview__caption span{white-space:nowrap;font-size:11px}
.entry-preview--family{display:flex;flex-direction:column;width:72%;left:0;top:9%;transform:rotate(-6deg);z-index:1}
.entry-preview--family .entry-preview__caption{order:-1;flex-direction:column;align-items:flex-start;gap:5px;padding:9px 10px 13px}
.entry-preview--study{width:70%;right:0;bottom:0;transform:rotate(4deg);z-index:3}
.entry-preview--creative{width:44%;right:-1%;top:0;transform:rotate(8deg);z-index:2;background:#132335;border-color:#586b64;color:#eaf6d7}
.entry-preview--creative .entry-preview__caption{color:#eaf6d7;padding-block:10px 5px}
.entry-preview--creative .entry-preview__caption strong{font-size:13px}
.entry-preview--creative .entry-preview__caption span{font-size:10px}
@media(hover:hover){.entry-preview:hover{z-index:4;transform:rotate(0) translateY(-7px);box-shadow:0 25px 55px #0006}}
.entry-preview:active{transform:rotate(0) scale(.985)}
#student-projects a:focus-visible{outline:3px solid var(--entry-accent);outline-offset:6px;z-index:5}
#vibe-coding .vibe-coding__process{max-width:1380px;margin:22px auto 0;padding:25px 0 8px;gap:30px;border-top:1px solid var(--border-green)}
#vibe-coding .vibe-coding__process>p{display:grid;grid-template-columns:30px 1fr;gap:7px 12px;align-content:start;padding:0;border:0}
#vibe-coding .vibe-coding__process>p>i{grid-row:span 2;color:var(--green-primary);font-size:25px;padding-top:2px}
#vibe-coding .vibe-coding__process strong{font-size:15px;font-weight:600}
#vibe-coding .vibe-coding__process span{font-size:12px;line-height:1.7}
html[data-theme="light"] #student-projects{--entry-accent:#24694e;--entry-paper:#fffefa;--entry-muted:#48655d}
html[data-theme="light"] .works-entry__cta{background:#24694e;color:#fff}
html[data-theme="light"] .works-entry__cta:hover{background:#1c553f}
html[data-theme="light"] .entry-preview{box-shadow:0 15px 40px #234d3924;border-color:#d8e5d8}
html[data-theme="light"] .entry-preview--creative{border-color:#35474e}
@media(min-width:1600px){#student-projects .works-entry{gap:70px}.works-entry__showcase{height:565px}}
@media(max-width:1100px) and (min-width:768px){#student-projects .works-entry{grid-template-columns:minmax(0,.93fr) minmax(0,1.07fr);gap:28px}.home-page #student-projects #student-projects-title{font-size:32px}.works-entry__showcase{height:405px}.entry-preview--family{width:85%;top:15%;left:0}.entry-preview--creative{width:52%;right:-2%}.entry-preview--study{width:83%;bottom:4%;right:0}.entry-preview__caption{padding:10px 5px 5px}.entry-preview__caption strong{font-size:13px}.entry-preview__caption span{font-size:10px}.works-entry__description{font-size:14px}}
@media(max-width:767px){#student-projects{margin-top:22px;scroll-margin-top:94px}#student-projects .works-entry{grid-template-columns:1fr;gap:16px;padding:0}.works-entry__copy{padding:0}.works-entry__eyebrow{font-size:11px;gap:12px;margin-bottom:20px}.works-entry__eyebrow>span{padding-left:12px}.home-page #student-projects #student-projects-title{font-size:clamp(27px,6.8vw,42px);line-height:1.3;letter-spacing:-.05em}.works-entry__description{margin:19px 0 24px;font-size:14px;line-height:1.85}.works-entry__cta{min-height:50px;padding:12px 20px;gap:36px;font-size:15px}.works-entry__note{margin-top:13px;font-size:11px}.works-entry__showcase{height:clamp(340px,90vw,525px);margin:28px 4px 0}.entry-preview{padding:5px;border-radius:9px}.entry-preview img{border-radius:5px}.entry-preview--family{width:78%;top:11%;left:0;transform:rotate(-5deg)}.entry-preview--study{width:78%;bottom:0;right:0}.entry-preview--creative{width:46%;top:0;right:0;transform:rotate(7deg)}.entry-preview__caption{padding:9px 5px 6px;gap:4px}.entry-preview__caption strong{font-size:12px}.entry-preview__caption span{font-size:9px}.entry-preview--creative .entry-preview__caption strong{font-size:10px}.entry-preview--creative .entry-preview__caption span{font-size:8px}#vibe-coding .vibe-coding__process{grid-template-columns:1fr;gap:23px;margin-top:27px;padding:25px 0 4px}#vibe-coding .vibe-coding__process>p{grid-template-columns:26px 1fr;gap:5px 12px}#vibe-coding .vibe-coding__process strong{font-size:14px}#vibe-coding .vibe-coding__process>p>i{font-size:23px}}
@media(prefers-reduced-motion:reduce){.entry-preview,.works-entry__cta,.works-entry__cta i{transition:none;animation:none}}

html[data-theme="light"] #vibe-coding .vibe-coding__process>p>i{color:#24694e}
@media(max-width:767px){.entry-preview__caption span,.entry-preview--creative .entry-preview__caption span{font-size:11px}.entry-preview--creative .entry-preview__caption strong{font-size:12px}}
