.school-romance{--sr-bg:#1d2015;--sr-bg-light:#2a2d1f;--sr-gold:#f7cf8e;--sr-gold-dim:#f7cf8e66;--sr-cream:#ece7d7;--sr-cream-dim:#ece7d7b3;--sr-accent:#c9a96e;--sr-dark:#141610;background-color:var(--sr-bg);color:var(--sr-cream);font-family:var(--font-playfair),"Playfair Display",serif;scroll-behavior:smooth;background-image:repeating-linear-gradient(#0000,#0000 31px,#f7cf8e0f 31px 32px);background-size:100% 32px;min-height:100vh;overflow-x:hidden}.school-romance *{box-sizing:border-box;margin:0}.school-romance .sr-body{font-family:var(--font-lora),"Lora",serif;color:var(--sr-cream-dim);font-size:1.05rem;line-height:1.75}.school-romance .sr-icon{width:18px;height:18px;color:var(--sr-gold);flex-shrink:0}.school-romance .sr-reveal{opacity:0;transition:all .8s;transform:translateY(60px)}.school-romance .sr-reveal.active{opacity:1;transform:translateY(0)}.school-romance .sr-divider{justify-content:center;align-items:center;gap:1rem;margin:2rem 0;display:flex}.school-romance .sr-divider-line{background:var(--sr-gold-dim);width:60px;height:1px}.school-romance .sr-divider-diamond{background:var(--sr-gold);width:8px;height:8px;transform:rotate(45deg)}.school-romance .sr-nav{z-index:100;background:linear-gradient(#1d2015f2,#0000);justify-content:space-between;align-items:center;padding:1rem 2rem;transition:background .3s;display:flex;position:sticky;top:40px}.school-romance .sr-nav-logo{font-family:var(--font-playfair),"Playfair Display",serif;color:var(--sr-gold);letter-spacing:.05em;font-size:1.5rem;font-weight:700;text-decoration:none}.school-romance .sr-nav-links{gap:2rem;padding:0;list-style:none;display:flex}.school-romance .sr-nav-links a{font-family:var(--font-lora),"Lora",serif;text-transform:uppercase;letter-spacing:.15em;color:var(--sr-cream-dim);font-size:.85rem;text-decoration:none;transition:color .3s}.school-romance .sr-nav-links a:hover{color:var(--sr-gold)}.school-romance .sr-hero{text-align:center;justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.school-romance .sr-hero-bg{filter:brightness(.35);background-position:50%;background-size:cover;position:absolute;inset:0}.school-romance .sr-hero-overlay{background:linear-gradient(to bottom,#1d20154d 0%,#1d201599 60%,var(--sr-bg)100%);position:absolute;inset:0}.school-romance .sr-hero-content{z-index:2;padding:2rem;position:relative}.school-romance .sr-yearbook-frame{background:var(--sr-bg-light);border:2px solid var(--sr-gold-dim);margin-bottom:2rem;padding:10px;display:inline-block;position:relative;box-shadow:0 4px 20px #0000004d}.school-romance .sr-yearbook-frame img{object-fit:cover;width:240px;height:300px;display:block}.school-romance .sr-tape{-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);z-index:3;background:#f7cf8e40;width:50px;height:20px;position:absolute}.school-romance .sr-tape-tl{top:-8px;left:-12px;transform:rotate(-35deg)}.school-romance .sr-tape-tr{top:-8px;right:-12px;transform:rotate(35deg)}.school-romance .sr-tape-bl{bottom:-8px;left:-12px;transform:rotate(35deg)}.school-romance .sr-tape-br{bottom:-8px;right:-12px;transform:rotate(-35deg)}.school-romance .sr-hero-subtitle{font-family:var(--font-lora),"Lora",serif;text-transform:uppercase;letter-spacing:.3em;color:var(--sr-gold);margin-bottom:1.5rem;font-size:.9rem}.school-romance .sr-hero h1{font-family:var(--font-playfair),"Playfair Display",serif;color:var(--sr-cream);margin-bottom:.5rem;font-size:clamp(3rem,8vw,7rem);font-weight:400;line-height:1.1}.school-romance .sr-hero h1 .sr-amp{color:var(--sr-gold);margin:.3em 0;font-size:.4em;font-style:italic;display:block}.school-romance .sr-hero-date{font-family:var(--font-lora),"Lora",serif;color:var(--sr-cream-dim);letter-spacing:.1em;margin-top:1.5rem;font-size:1.1rem}.school-romance .sr-hero-location{font-family:var(--font-lora),"Lora",serif;color:var(--sr-gold-dim);margin-top:.5rem;font-size:.9rem}.school-romance .sr-scroll-hint{z-index:2;flex-direction:column;align-items:center;gap:.5rem;display:flex;position:absolute;bottom:2rem;left:50%;transform:translate(-50%)}.school-romance .sr-scroll-hint span{font-family:var(--font-lora),"Lora",serif;text-transform:uppercase;letter-spacing:.2em;color:var(--sr-gold-dim);font-size:.7rem}.school-romance .sr-scroll-line{background:linear-gradient(to bottom,var(--sr-gold-dim),transparent);width:1px;height:40px;animation:2s ease-in-out infinite sr-scroll-pulse}@keyframes sr-scroll-pulse{0%,to{opacity:.3}50%{opacity:1}}.school-romance .sr-section{max-width:900px;margin:0 auto;padding:6rem 2rem}.school-romance .sr-section-title{font-family:var(--font-playfair),"Playfair Display",serif;text-align:center;color:var(--sr-cream);margin-bottom:1rem;font-size:clamp(1.8rem,4vw,2.5rem);font-weight:400}.school-romance .sr-story{background:var(--sr-bg-light)}.school-romance .sr-story .sr-letter-paper{background:repeating-linear-gradient(#0000,#0000 31px,#f7cf8e1f 31px 32px);border-left:3px solid #f7cf8e33;max-width:650px;margin:0 auto;padding:2rem 2.5rem;position:relative}.school-romance .sr-story-text{text-align:left;white-space:pre-line;max-width:650px;margin:0 auto;font-size:1.1rem;font-style:italic;line-height:2}.school-romance .sr-schedule{padding:6rem 2rem 4rem}.school-romance .sr-schedule .sr-section{padding-bottom:2rem}.school-romance .sr-schedule-list{flex-direction:column;gap:2.5rem;max-width:700px;margin:0 auto;display:flex}.school-romance .sr-schedule-card{background:var(--sr-bg-light);border:1px solid var(--sr-gold-dim);border-radius:6px;flex-direction:row;transition:transform .3s,box-shadow .3s;display:flex;overflow:hidden}.school-romance .sr-schedule-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px #0000004d}.school-romance .sr-schedule-card-accent{background:linear-gradient(to bottom,var(--sr-gold),var(--sr-accent));flex-shrink:0;align-items:stretch;width:36px;min-height:100%;display:flex}.school-romance .sr-schedule-card-body{flex:1;padding:2rem}.school-romance .sr-schedule-time-badge{writing-mode:vertical-rl;text-orientation:mixed;justify-content:center;align-items:center;height:100%;padding:1rem 0;display:flex}.school-romance .sr-schedule-time-value{font-family:var(--font-playfair),"Playfair Display",serif;color:var(--sr-bg);letter-spacing:.1em;white-space:nowrap;font-size:.85rem;font-weight:700}.school-romance .sr-schedule-card-title{font-family:var(--font-playfair),"Playfair Display",serif;color:var(--sr-cream);margin-bottom:.4rem;font-size:1.5rem}.school-romance .sr-schedule-card-venue{font-family:var(--font-lora),"Lora",serif;color:var(--sr-gold);margin-bottom:1.25rem;font-size:1rem}.school-romance .sr-schedule-card-details{flex-direction:column;gap:.7rem;margin-bottom:1.25rem;display:flex}.school-romance .sr-schedule-card-detail{font-family:var(--font-lora),"Lora",serif;color:var(--sr-cream-dim);align-items:center;gap:.7rem;font-size:.95rem;display:flex}.school-romance .sr-schedule-card-desc{font-family:var(--font-lora),"Lora",serif;color:var(--sr-cream-dim);border-top:1px solid var(--sr-gold-dim);margin-bottom:1.25rem;padding-top:1rem;font-size:.95rem;line-height:1.7}.school-romance .sr-map-link{font-family:var(--font-lora),"Lora",serif;color:var(--sr-gold);border-bottom:1px solid var(--sr-gold-dim);margin-top:.75rem;padding-bottom:2px;font-size:.85rem;text-decoration:none;transition:border-color .3s;display:inline-block}.school-romance .sr-map-link:hover{border-color:var(--sr-gold)}.school-romance .sr-countdown{background:var(--sr-dark);text-align:center;padding:5rem 2rem}.school-romance .sr-countdown-title{font-family:var(--font-playfair),"Playfair Display",serif;color:var(--sr-cream);margin-bottom:2.5rem;font-size:1.5rem}.school-romance .sr-countdown-grid{justify-content:center;gap:3rem;display:flex}.school-romance .sr-countdown-unit{flex-direction:column;align-items:center;display:flex}.school-romance .sr-countdown-number{font-family:var(--font-playfair),"Playfair Display",serif;color:var(--sr-gold);font-size:clamp(2.5rem,6vw,4.5rem);font-weight:400;line-height:1}.school-romance .sr-countdown-label{font-family:var(--font-lora),"Lora",serif;text-transform:uppercase;letter-spacing:.15em;color:var(--sr-cream-dim);margin-top:.5rem;font-size:.8rem}.school-romance .sr-countdown-arrived{font-family:var(--font-playfair),"Playfair Display",serif;color:var(--sr-gold);font-size:2rem}.school-romance .sr-gallery{background:var(--sr-bg-light);padding:6rem 2rem}.school-romance .sr-gallery-masonry{grid-template-columns:repeat(3,1fr);gap:.5rem;max-width:1100px;margin:0 auto;display:grid}.school-romance .sr-gallery-item{aspect-ratio:1;cursor:pointer;border-radius:4px;position:relative;overflow:hidden}.school-romance .sr-gallery-item.sr-gallery-featured{aspect-ratio:auto;grid-area:span 2/span 2}.school-romance .sr-gallery-item img{object-fit:cover;width:100%;height:100%;transition:transform .6s}.school-romance .sr-gallery-item:hover img{transform:scale(1.08)}.school-romance .sr-gallery-caption{font-family:var(--font-lora),"Lora",serif;color:var(--sr-cream);opacity:0;background:linear-gradient(#0000,#000000b3);padding:1rem;font-size:.85rem;transition:opacity .3s;position:absolute;bottom:0;left:0;right:0}.school-romance .sr-gallery-item:hover .sr-gallery-caption{opacity:1}.school-romance .sr-gallery-empty{text-align:center;padding:4rem 2rem}.school-romance .sr-gallery-empty p{font-family:var(--font-lora),"Lora",serif;color:var(--sr-cream-dim);font-size:1.1rem;font-style:italic}.school-romance .sr-travel{padding:6rem 2rem}.school-romance .sr-travel .sr-section{padding-top:0;padding-bottom:2rem}.school-romance .sr-travel-intro{text-align:center;max-width:600px;margin:0 auto}.school-romance .sr-travel-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;max-width:1000px;margin:0 auto;display:grid}.school-romance .sr-travel-card{background:var(--sr-bg-light);border:1px solid var(--sr-gold-dim);text-align:center;border-radius:6px;padding:2rem}.school-romance .sr-travel-card-title{font-family:var(--font-playfair),"Playfair Display",serif;color:var(--sr-gold);margin-bottom:.75rem;font-size:1.2rem}.school-romance .sr-travel-card-address{font-family:var(--font-lora),"Lora",serif;color:var(--sr-cream-dim);margin-bottom:1rem;font-size:.9rem;line-height:1.6}.school-romance .sr-travel-card-link{font-family:var(--font-lora),"Lora",serif;color:var(--sr-gold);border-bottom:1px solid var(--sr-gold-dim);padding-bottom:2px;font-size:.85rem;text-decoration:none;transition:border-color .3s;display:inline-block}.school-romance .sr-travel-card-link:hover{border-color:var(--sr-gold)}.school-romance .sr-faq{background:var(--sr-bg-light);padding:6rem 2rem}.school-romance .sr-faq .sr-section{padding-bottom:2rem}.school-romance .sr-faq-list{flex-direction:column;gap:0;max-width:750px;margin:0 auto;display:flex}.school-romance .sr-faq-item{border-bottom:1px solid var(--sr-gold-dim);padding:1.5rem 0}.school-romance .sr-faq-item:first-child{padding-top:0}.school-romance .sr-faq-item:last-child{border-bottom:none}.school-romance .sr-faq-question{font-family:var(--font-playfair),"Playfair Display",serif;color:var(--sr-cream);margin-bottom:.75rem;font-size:1.15rem}.school-romance .sr-faq-answer{font-family:var(--font-lora),"Lora",serif;color:var(--sr-cream-dim);font-size:.95rem;line-height:1.7}.school-romance .sr-footer{text-align:center;padding:4rem 2rem 3rem}.school-romance .sr-footer-names{font-family:var(--font-playfair),"Playfair Display",serif;color:var(--sr-gold);margin-bottom:.5rem;font-size:1.8rem}.school-romance .sr-footer-copy{font-family:var(--font-lora),"Lora",serif;color:var(--sr-cream-dim);font-size:.8rem}@media (max-width:768px){.school-romance .sr-nav-links{display:none}.school-romance .sr-section{padding:4rem 1.5rem}.school-romance .sr-schedule-list{gap:2rem}.school-romance .sr-schedule-card-body{padding:1.5rem}.school-romance .sr-gallery-masonry{grid-template-columns:repeat(2,1fr)}.school-romance .sr-gallery-item.sr-gallery-featured{aspect-ratio:16/9;grid-area:span 1/span 2}.school-romance .sr-countdown-grid{gap:1.5rem}.school-romance .sr-travel-grid{grid-template-columns:1fr}}@media (max-width:480px){.school-romance .sr-gallery-masonry{grid-template-columns:1fr}.school-romance .sr-gallery-item.sr-gallery-featured{aspect-ratio:16/9;grid-column:span 1}.school-romance .sr-countdown-grid{gap:1rem}}
