/* GABRIELA BETANCOURT × TIERRA — green + cobalt design system, 2026 */
:root{
  --forest:#063d2b;--forest-dark:#03291d;--earth:#086b42;--leaf:#18a463;--mint:#9fe6c0;
  --blue:#16478c;--navy:#0b2b62;--sky:#8cbaf5;--ice:#eaf5fc;
  --paper:#f9fcf9;--ink:#173f35;--muted:#526b65;--line:#cfe3d9;
  --display:"Fraunces",Georgia,serif;--font:"DM Sans",Arial,sans-serif;--mono:"Space Mono",monospace;
  --shadow:0 22px 55px rgba(4,47,33,.11)
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;overflow-x:hidden;background:var(--paper);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}button{font:inherit;cursor:pointer}
a:focus-visible,button:focus-visible{outline:3px solid var(--leaf);outline-offset:4px}
button:disabled{opacity:.48;cursor:not-allowed}
::selection{background:#a0e9c9;color:#053f30}
h1,h2,h3,p{margin-top:0}
.skip-link{position:fixed;top:-90px;left:14px;z-index:250;background:white;color:var(--navy);font-weight:700;padding:13px 21px;border-radius:8px}
.skip-link:focus{top:15px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.progress{position:fixed;inset:0 0 auto;height:3px;z-index:120;pointer-events:none}
.progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--leaf),var(--sky))}
.grain{position:fixed;inset:0;z-index:90;pointer-events:none;opacity:.1;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 140 140' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.2' filter='url(%23noise)'/%3E%3C/svg%3E")}
.section-container{width:min(1240px,calc(100% - 90px));margin:0 auto}
.eyebrow{font:700 11px var(--mono);letter-spacing:.13em;color:#477f68;display:block;margin-bottom:18px}
.btn{min-height:51px;display:inline-flex;justify-content:center;align-items:center;gap:15px;padding:15px 23px;border:1px solid transparent;border-radius:5px;font:700 11px var(--mono);letter-spacing:.025em;transition:transform .25s,background .25s,box-shadow .25s}
.btn:hover{transform:translateY(-3px)}
.btn-primary{background:var(--forest);color:#fff;box-shadow:5px 5px 0 #a7d5bf}
.btn-primary:hover{background:#0a7e4b;box-shadow:7px 7px 0 #b4dfcc}
.btn-light{background:#f3fdf7;color:var(--forest-dark)}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1)}
.reveal.visible{opacity:1;transform:none}
body.no-motion .reveal{opacity:1;transform:none}

/* No header, no navigation and no duplicate headline. User-supplied banner IS the hero. */
.full-hero{position:relative;width:100%;height:100vh;height:100svh;min-height:480px;background:linear-gradient(115deg,#001d13 0%,#00472d 52%,#0c502d 100%);isolation:isolate;overflow:hidden}
.hero-image-layer{position:absolute;inset:0;z-index:2;display:block}
.banner-image{width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block}
.hero-image-fallback{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;text-align:center;padding:30px;color:#f2fff8;background:radial-gradient(circle at 50% 35%,#167345,#002f1b 72%)}
.hero-image-fallback span{font:800 clamp(50px,10vw,150px)/.95 var(--display);letter-spacing:-.07em}
.hero-image-fallback small{font:700 clamp(10px,1.6vw,18px) var(--mono);letter-spacing:.07em}

/* Vibrant green Society Tierra values ticker */
.marquee{height:67px;display:flex;align-items:center;overflow:hidden;background:linear-gradient(90deg,#055c37,#0c854d 45%,#04603c);color:#f2fff5;border-top:1px solid #48bb7d;border-bottom:1px solid #48bb7d;white-space:nowrap;font:700 13px var(--mono);letter-spacing:.07em}
.marquee-track{display:flex;width:max-content;animation:marquee 34s linear infinite}
.marquee-track span{flex:none;padding-right:60px}

/* Three.js sculptural Tierra universe */
.universe-section{min-height:670px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 70% 50%,#165ba1 0%,transparent 39%),radial-gradient(ellipse at 20% 70%,#0d7649 0%,transparent 54%),linear-gradient(125deg,#052d21,#062f55 82%);color:#f6fffa}
.universe-section::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.13;background:repeating-linear-gradient(90deg,transparent 0 49px,#93d8c4 50px),repeating-linear-gradient(0deg,transparent 0 49px,#93d8c4 50px)}
.universe-inner{display:grid;grid-template-columns:.96fr 1.04fr;align-items:center;gap:12px;min-height:670px;position:relative}
.universe-copy{position:relative;z-index:2;padding:90px 0}
.universe-eyebrow{color:#a4e6c4}
.universe-copy h2{font:800 clamp(54px,6vw,89px)/.99 var(--display);letter-spacing:-.065em;margin:0 0 32px}
.universe-copy h2 em{font-weight:600;color:#92d9f6}
.universe-copy p{font:400 17px/1.8 var(--font);color:#d1e8e4;max-width:455px;margin-bottom:32px}
.universe-link{display:inline-flex;align-items:center;gap:18px;font:700 11px var(--mono);letter-spacing:.07em;padding-bottom:12px;border-bottom:1px solid #9ad9bc;transition:color .2s}
.universe-link:hover{color:#9cecd0}
.universe-asterisk{position:absolute;bottom:25px;left:5%;font-size:95px;color:#3eaa87;opacity:.42}
.universe-visual{height:610px;position:relative;min-width:0}
.terra3d{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.terra3d canvas{position:relative;z-index:2;display:block;width:100%!important;height:100%!important}
.terra3d.is-ready .terra3d-fallback{opacity:0}
.terra3d-fallback{position:absolute;width:min(76%,430px);aspect-ratio:1;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%;border:32px solid rgba(38,183,120,.67);box-shadow:0 0 0 3px #9feccb,0 0 95px #149e7488,inset 0 0 50px #091e55;background:radial-gradient(circle at 33% 26%,#a9d8ed,#164f9d 36%,#0b3156 72%)}
.terra3d-fallback::before{content:"";position:absolute;inset:-42px;border:1px solid #76deb6;border-radius:50%;transform:rotate(-34deg) scaleY(.44)}


/* Personal journey */
.achievements-section{background:#f5faf6;background-image:radial-gradient(#cee4d4 .7px,transparent .7px);background-size:19px 19px;padding:125px 0 135px}
.achievements-heading{display:flex;align-items:end;justify-content:space-between;gap:65px;margin-bottom:55px}
.achievements-heading h2{font:800 clamp(46px,5.5vw,76px)/1.06 var(--display);letter-spacing:-.06em;color:var(--forest-dark);margin:0}
.achievements-heading h2 em{font-weight:600;color:var(--blue)}
.achievements-heading>p{font-size:16px;line-height:1.8;color:var(--muted);max-width:385px;margin:0 0 9px}
.achievement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:27px}
.achievement-card{background:#fff;border:1px solid #d8e9de;border-radius:17px;overflow:hidden;box-shadow:0 16px 32px #143e2910;display:flex;flex-direction:column;transition:transform .3s,box-shadow .3s}
.achievement-card:hover{transform:translateY(-6px);box-shadow:0 25px 42px #123b2920}
.achievement-media{position:relative;isolation:isolate;aspect-ratio:1.7/1;background:linear-gradient(145deg,#105837,#399f78);overflow:hidden}
.achievement-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%;display:block;z-index:2;transition:transform .7s cubic-bezier(.2,.8,.3,1)}
.achievement-card:hover .achievement-media img{transform:scale(1.035)}
.achievement-congress .achievement-media img{object-position:center 43%}
.achievement-academic .achievement-media img{object-position:center 49%}
.achievement-corner{position:absolute;top:15px;right:15px;z-index:3;background:#fff;color:var(--forest);border-radius:40px;border:1px solid #d8e5dd;padding:10px 15px;font:700 11px var(--mono);box-shadow:0 6px 15px #0c41241e}
.achievement-body{padding:30px 32px 32px;flex:1;display:flex;flex-direction:column}
.achievement-category{display:block;color:#327a57;font:700 10px var(--mono);letter-spacing:.09em;margin-bottom:13px}
.achievement-body h3{font:800 clamp(29px,3.4vw,47px)/1.09 var(--display);letter-spacing:-.04em;color:var(--forest-dark);margin-bottom:17px}
.achievement-body h3 em{font-weight:600;color:var(--blue)}
.achievement-body p{font-size:15px;line-height:1.75;color:#526c62;margin-bottom:25px}
.achievement-school{font:700 10px/1.65 var(--mono);color:#6d927d;letter-spacing:.035em;padding-top:14px;border-top:1px solid #dfeae1;margin-top:auto}
.achievement-placeholder,.achievement-photo-fallback{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:25px;color:white;background:radial-gradient(circle at 55% 30%,#74cba2,#0a5b3a 75%)}
.achievement-placeholder>span{font-size:41px;color:#bce9dd}
.achievement-placeholder strong,.achievement-photo-fallback strong{font:800 clamp(49px,6vw,85px)/.92 var(--display);letter-spacing:-.065em;text-shadow:3px 4px #003e2a55}
.achievement-placeholder small,.achievement-photo-fallback small{font:700 10px var(--mono);color:#dbfff0;background:#064b3470;padding:7px 11px}
.achievement-photo-fallback span{font:700 12px var(--mono);color:#a9eacd}
.congress-fallback{background:radial-gradient(circle at 35% 35%,#2875a4,#0a2756 82%)}
.congress-fallback span{color:#a3d1fa}
.achievement-letter{background:radial-gradient(circle at 37% 24%,#bbdfff,#679bd4 76%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;text-align:center;color:var(--navy)}
.achievement-letter strong{font:800 clamp(61px,8vw,117px)/.75 var(--display);letter-spacing:-.065em;text-shadow:4px 6px #eaf9ff;transform:rotate(-4deg)}
.spelling-spark{font-size:33px;color:#f1ffff;letter-spacing:.4em}
.spelling-rank{font:800 20px var(--mono);color:#114a73;letter-spacing:.17em;margin-top:17px}
.spelling-rank sup{font-size:10px}
.achievements-footnote{max-width:850px;margin:32px auto 0;text-align:center;font-size:12px;line-height:1.7;color:#628371}

/* About: blue + green collage */
.paper-section{background:#fefffb;background-image:radial-gradient(#d8e7e0 .7px,transparent .7px);background-size:15px 15px}
.section-about{padding:125px 0 130px}
.memory-display{position:relative;width:min(1500px,calc(100% - 42px));margin:0 auto 135px}
.school-signature-note span{color:var(--blue)}
.original-gallery.memory-polaroid{width:100%;max-width:none;position:relative;margin:0;padding:clamp(12px,1.35vw,22px) clamp(12px,1.35vw,22px) clamp(78px,7vw,115px);transform:rotate(-.75deg);background:#fff;border:1px solid #edf0eb;border-radius:3px;box-shadow:0 28px 65px #113c292b,0 5px 14px #14392616}
.memory-polaroid>img{display:block;width:100%;height:auto;object-fit:contain;background:#e8f0f7}
.memory-polaroid-decoration{position:absolute;left:0;right:0;bottom:clamp(18px,2.5vw,38px);display:flex;align-items:center;justify-content:center;gap:clamp(36px,7vw,100px);color:#1d9161;font-size:clamp(23px,3vw,42px);line-height:1}
.memory-polaroid-decoration span:nth-child(2){color:var(--blue);transform:rotate(-16deg)}
.memory-polaroid-decoration span:nth-child(3){color:#4d9aba;transform:rotate(22deg)}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}
.about-collage{height:470px;position:relative}
.polaroid{position:absolute;width:57%;padding:13px 13px 20px;background:#fff;border:1px solid #dce9e8;box-shadow:0 18px 42px #1e4d351f;transition:transform .3s}
.polaroid:hover{z-index:5;transform:rotate(0) translateY(-7px)}
.polaroid-a{left:2%;top:10%;transform:rotate(-10deg);z-index:2}
.polaroid-b{right:1%;bottom:0;transform:rotate(9deg)}
.polaroid-art{aspect-ratio:1/1;background:radial-gradient(circle at 50% 35%,#addff0 0 24%,transparent 25%),repeating-linear-gradient(45deg,transparent 0 13px,#fff1 13px 19px),#2d8b9b;color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden}
.polaroid-flowers{position:absolute;top:12px;left:15px;font-size:27px;letter-spacing:18px;color:#caffef;white-space:nowrap}
.about-monogram{font:800 clamp(98px,13vw,175px)/1 var(--display);text-shadow:5px 6px var(--forest);transform:rotate(-11deg)}
.polaroid-art small{font:700 8px var(--mono);letter-spacing:.04em}
.secondary-art{background:linear-gradient(130deg,#8bd6b0,#b6daff);color:#103f45;text-align:center}
.secondary-art>span:nth-child(2){font:800 clamp(36px,5vw,70px)/.93 var(--display);text-shadow:2px 3px #ecfff5}
.scribble-hearts{position:absolute;top:15px;right:13px;font-size:28px;color:#0b655a}
.polaroid-caption{display:block;text-align:center;margin-top:14px;font:italic 600 21px var(--display);color:var(--blue)}
.tape{position:absolute;width:105px;height:30px;background:#99dccaaf;transform:rotate(-34deg);z-index:4;left:-4%;top:8%;clip-path:polygon(6% 0,100% 0,94% 100%,0% 100%)}
.collage-sticker{position:absolute;right:0;top:4%;z-index:5;display:grid;place-items:center;width:102px;height:102px;border-radius:50%;background:#c5e9ef;color:var(--blue);border:3px dotted white;font:800 15px/1 var(--display);text-align:center;transform:rotate(15deg)}
.about-copy h2,.section-heading h2,.record-copy h2{font:800 clamp(48px,5.9vw,79px)/1.03 var(--display);letter-spacing:-.063em;color:var(--forest-dark);margin-bottom:23px}
.about-copy h2 em,.section-heading h2 em,.record-copy h2 em{color:var(--blue);font-weight:600}
.about-copy h2 span{color:#67a88c;font-size:.6em}
.about-name{font:700 11px var(--mono);letter-spacing:.07em;color:#1b765b;margin-bottom:25px}
.about-copy>p:not(.about-name),.section-heading>p,.record-copy>p{font-size:16px;line-height:1.84;color:#506e60}
.about-copy>p strong{color:var(--forest)}
.handwritten-note{font:italic 600 clamp(21px,2vw,30px) var(--display);color:var(--blue);margin:34px 0;transform:rotate(-2deg)}
.handwritten-note span{color:#328b6b}
.about-tags{display:flex;flex-wrap:wrap;gap:9px}
.about-tags span{padding:9px 12px;background:#eff8f4;color:#246d53;border:1px solid #bcdacb;border-radius:100px;font:700 10px var(--mono)}

/* Vision cards */
.section-vision{padding:125px 0 145px;background:#e9f3f7;background-image:radial-gradient(#c9dce6 1px,transparent 1px);background-size:27px 27px}
.section-heading.center{max-width:800px;margin:0 auto 74px;text-align:center}
.section-heading>p{max-width:630px;margin:0 auto}
.vision-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.vision-card{background:white;border:2px solid #cce4dc;box-shadow:8px 10px 0 #c2dcd3;padding:33px 29px 25px;display:flex;flex-direction:column;min-height:435px;transition:transform .27s,box-shadow .27s}
.vision-card:nth-child(2){background:#f5fffb;border-color:#cce2f3;box-shadow:8px 10px 0 #c8dff1;transform:rotate(1deg)}
.vision-card:hover{transform:translateY(-6px);box-shadow:12px 16px 0 #bbdfce}
.vision-card:nth-child(2):hover{transform:translateY(-6px)}
.card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}
.card-n{font:700 12px var(--mono);color:#729482}
.card-symbol{font-size:46px;line-height:1;color:var(--earth)}
.initiative-tag{display:inline-block;align-self:flex-start;margin-bottom:12px;padding:7px 11px;border-radius:3px;background:#dcf4e8;color:#186f4d;font:700 9px var(--mono);letter-spacing:.065em}
.vision-card h3{font:800 clamp(30px,2.5vw,38px)/1.11 var(--display);letter-spacing:-.04em;color:var(--forest-dark);margin-bottom:16px}
.vision-card>p,.card-detail p{font:400 14px/1.8 var(--font);color:var(--muted)}
.vision-plan{margin-top:auto;padding:20px 0 0;border-top:1px dashed #9fcbb2;display:flex;flex-direction:column;gap:13px}
.vision-plan-label{display:flex;align-items:center;justify-content:space-between;color:#16714c;font:700 10px var(--mono);letter-spacing:.07em}
.vision-plan-label span{font-size:20px;color:var(--blue)}
.vision-plan p{font:500 13px/1.8 var(--font);color:#305a4a;margin:0;padding:14px 16px;background:#e9f7f0;border:1px solid #d0e8dc;border-radius:5px}
.vision-card:nth-child(2) .vision-plan p{background:#e6f4ff;border-color:#cfe4f6}
.vision-disclaimer{max-width:760px;margin:33px auto 0;text-align:center;font:400 12px/1.7 var(--font);color:#638375}

/* Retro blue record, keep kinetic spinning vinyl */
.scrapbook-section{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 77% 40%,#c0d9f4,transparent 45%),radial-gradient(ellipse at 15% 80%,#c5ead9,transparent 45%),linear-gradient(125deg,#ecf7f2,#e0edff);color:var(--forest)}
.scrapbook-section::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;background:repeating-linear-gradient(0deg,transparent 0 46px,#1f7c5b0a 47px),repeating-linear-gradient(90deg,transparent 0 46px,#1f7c5b0a 47px)}
.lace{height:36px;position:absolute;left:0;right:0;z-index:4;opacity:.92;background:radial-gradient(circle at 16px 0,transparent 10px,#064d38 10.5px,#064d38 15px,transparent 15.5px) 0 0/32px 35px repeat-x,linear-gradient(#064d38,#064d38) 0 0/100% 13px no-repeat}
.lace-top{top:0;transform:rotate(180deg)}.lace-bottom{bottom:0}
.record-section{padding:145px 0 150px}
.record-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:65px}
.record-copy>p{max-width:530px}
.record-muted{font-size:11px!important;color:#6d8880!important;margin-top:22px!important}
.record-visual{height:600px;position:relative;display:flex;align-items:center;justify-content:center}
.record-sleeve{position:absolute;left:0;top:13%;height:70%;aspect-ratio:1;background:repeating-linear-gradient(0deg,transparent 0 21px,#ffffff0a 22px),linear-gradient(135deg,#226bc1,#0a3c68 75%);border:12px solid #f3fff7;box-shadow:12px 16px 32px #13456f32;transform:rotate(-12deg);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:8%;z-index:1}
.sleeve-title{font:800 clamp(43px,4vw,72px)/.86 var(--display);letter-spacing:-.075em;color:#fff;transform:rotate(-4deg)}
.sleeve-title span{font-style:italic;color:#a8efc9}
.sleeve-stamp{position:absolute;bottom:15%;right:12%;width:95px;height:95px;border:2px dashed #cbf6dc;border-radius:50%;display:grid;place-items:center;text-align:center;transform:rotate(20deg);font:700 12px/1.3 var(--mono);color:#fff}
.sleeve-bottom{position:absolute;bottom:5%;left:8%;color:#b7f2d8;font:700 8px var(--mono)}
.vinyl{position:relative;z-index:2;margin-left:25%;width:75%;aspect-ratio:1;border-radius:50%;border:6px solid #121e25;background:repeating-radial-gradient(circle at center,#111b27 0 4px,#1a2734 5px 6px,#0b1925 7px 10px,#1e2d39 11px 12px,#0e1922 13px 15px);box-shadow:12px 18px 24px #09212a44,inset 0 0 0 3px #40545d}
.vinyl::before{content:"";position:absolute;inset:3%;border-radius:50%;pointer-events:none;background:conic-gradient(transparent 0deg,#c7eafa22 60deg,transparent 100deg,#80bacc18 180deg,transparent 240deg,#e6f7fb24 315deg,transparent 350deg)}
.vinyl.playing{animation:spin 7s linear infinite}
.vinyl-center{position:absolute;inset:32%;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-align:center;background:radial-gradient(circle,#0f4055 0 4%,#579dc8 5% 50%,#0d638a 51% 66%,#b3e9cc 67% 68%,#216e80 69%);border:2px solid #57b99a;box-shadow:inset 1px 5px 10px #124968}
.vinyl-center strong{font:800 clamp(55px,7vw,100px)/1 var(--display);color:#fff;text-shadow:2px 2px #18567b}
.vinyl-tiny{font:700 8px var(--mono);color:#fff;letter-spacing:.06em}
.vinyl-spark{position:absolute;z-index:3;font-size:65px;color:#157f6b}
.sparkle-1{top:5%;right:4%}.sparkle-2{bottom:10%;left:0}

/* Last chapter */
.last-section{display:flex;flex-direction:column;align-items:center;text-align:center;padding:115px 25px 120px;position:relative;overflow:hidden;background:radial-gradient(circle at 50% 17%,#147f51,#063e30 65%,#063049);color:white}
.last-stars{font-size:34px;letter-spacing:25px;color:#b4e4fa;opacity:.8;margin-bottom:31px}
.last-section .eyebrow{color:#b8ead3}
.last-section h2{font:800 clamp(50px,7vw,100px)/1.03 var(--display);letter-spacing:-.065em;color:#fff;max-width:970px;margin-bottom:29px}
.last-section h2 em{color:#a9e9fb;font-weight:600}
.last-section>p{max-width:560px;color:#daece5;line-height:1.8;font-size:17px;margin-bottom:32px}
.last-signature{font:italic 600 31px var(--display);transform:rotate(-4deg);margin-top:55px;color:#abf0cd}
.site-footer{background:#032c22;color:#c2e4d4;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;padding:23px 5%;font:700 10px var(--mono);letter-spacing:.04em}
.site-footer a{color:white}.site-footer .logo-credit{font-size:9px;color:#a4d0ba;text-underline-offset:3px;text-decoration:underline;text-decoration-color:#699e87}.site-footer span span{color:#94cdf8}
@keyframes marquee{to{transform:translateX(-50%)}}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:1150px){
  .section-container{width:calc(100% - 70px)}.universe-copy h2{font-size:64px}.universe-inner{gap:0}
  .record-grid{gap:32px}.record-visual{height:480px}.vision-card{padding:27px 21px}
}
@media(max-width:850px){
  .universe-inner{grid-template-columns:1fr;gap:0;padding-top:80px;padding-bottom:30px}
  .universe-section{min-height:0}.universe-copy{text-align:center;padding:15px 0 0}
  .universe-copy p{margin:0 auto 25px}.universe-copy h2{font-size:clamp(56px,10vw,77px)}
  .universe-visual{height:500px;width:min(650px,100%);margin:0 auto}
  .universe-asterisk{display:none}
  .achievements-heading{display:block;text-align:center}.achievements-heading>p{margin:22px auto 0;max-width:610px}
  .about-grid,.record-grid{grid-template-columns:1fr;gap:44px}
  .about-collage{width:min(550px,100%);margin:0 auto}.about-copy{text-align:center;max-width:600px;margin:0 auto}.about-tags{justify-content:center}
  .vision-cards{grid-template-columns:1fr;max-width:640px;margin:0 auto}
  .vision-card{min-height:0;padding:30px}.vision-card:nth-child(2){transform:none}
  .record-copy{text-align:center;max-width:650px;margin:0 auto}.record-copy>p{max-width:none}
  .section-about,.section-vision{padding:95px 0}.record-section{padding:110px 0}
  .memory-display{margin-bottom:90px}
}
@media(max-width:620px){
  .section-container{width:calc(100% - 38px)}
  .full-hero{min-height:0;height:100svh}.banner-image{object-fit:contain;object-position:center;background:#003820}
  .marquee{height:56px;font-size:10px}
  .universe-inner{padding-top:69px}.universe-copy h2{font-size:clamp(47px,11vw,66px)}
  .universe-copy p{font-size:15px;max-width:400px}.universe-visual{height:390px}
  
  .achievements-section{padding:80px 0 95px}
  .achievements-heading{margin-bottom:35px}.achievements-heading h2{font-size:clamp(42px,10vw,63px)}
  .achievement-grid{grid-template-columns:1fr;gap:22px}
  .achievement-body{padding:25px}.achievement-body h3{font-size:36px}
  .achievement-media{aspect-ratio:1.65/1}
  .memory-display{width:calc(100% - 25px);margin-bottom:72px}
  .original-gallery.memory-polaroid{padding:9px 9px 59px;transform:rotate(-.6deg);box-shadow:0 14px 33px #113c292a}
  .memory-polaroid-decoration{bottom:15px;font-size:25px;gap:40px}
  .about-collage{height:360px}
  .polaroid{padding:8px 8px 13px}.polaroid-caption{font-size:16px;margin-top:9px}
  .about-monogram{font-size:102px}.polaroid-flowers{font-size:20px}
  .secondary-art>span:nth-child(2){font-size:39px}
  .collage-sticker{height:75px;width:75px;font-size:12px}
  .about-copy h2,.section-heading h2,.record-copy h2{font-size:clamp(44px,10.5vw,63px)}
  .section-heading.center{margin-bottom:48px}
  .record-visual{height:370px}.sleeve-title{font-size:36px}.sleeve-stamp{width:63px;height:63px;font-size:8px}
  .vinyl-center strong{font-size:56px}.vinyl-tiny{font-size:5px}
  .last-section{padding:96px 20px 112px}.last-section h2{font-size:clamp(44px,10vw,68px)}
  .last-stars{font-size:22px;letter-spacing:12px}.site-footer{padding-bottom:76px;justify-content:center;text-align:center}
}
@media(max-width:380px){
  .hero-image-fallback span{font-size:48px}
  .achievement-body h3{font-size:32px}.achievement-placeholder strong{font-size:63px}
  .achievement-letter strong{font-size:74px}.universe-visual{height:330px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;scroll-behavior:auto!important;transition:none!important}
  .reveal{opacity:1;transform:none}
}
body.no-motion *,body.no-motion *::before,body.no-motion *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}



/* Campus identity strip immediately below the full-screen hero */
.school-logo-band{
  background:#f5fbf7;
  border-bottom:1px solid #cde3d5;
  position:relative;
  isolation:isolate;
  overflow:hidden;
}
.school-logo-band::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.24;
  background-image:radial-gradient(#a7d7b7 .65px,transparent .65px);background-size:20px 20px;
}
.school-logo-inner{
  width:min(1050px,calc(100% - 48px));margin:0 auto;min-height:190px;
  display:flex;justify-content:center;align-items:center;gap:clamp(26px,6.5vw,100px);
  padding:26px 0;position:relative;
}
.school-logo-unit{display:flex;position:relative;align-items:center;justify-content:center;min-width:0;flex:0 1 360px;height:136px}
.school-logo-tec{
  display:block;width:min(100%,360px);height:auto;max-height:130px;
  object-fit:contain;position:relative;z-index:2;
}
.school-logo-tierra{
  display:block;width:auto;max-width:100%;height:135px;object-fit:contain;
  position:relative;z-index:2;filter:drop-shadow(0 8px 14px rgba(10,69,40,.08));
}
.logo-band-divider{height:90px;width:1px;flex:none;background:linear-gradient(transparent,#86bea2,transparent)}
.logo-image-fallback{opacity:0;pointer-events:none;position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--forest);font-family:var(--font);font-weight:800;font-size:clamp(21px,3vw,39px);letter-spacing:-.04em}
.school-logo-unit.has-logo-error .logo-image-fallback{opacity:1}
.tierra-symbol-fallback{font:800 29px var(--display);color:#098d5f}
.fallback-dot{color:#32a877}
.school-logo-unit img[hidden]{display:none!important}

/* Gaby offstage — editorial Y2K profile collection, blue/green only */
.tastes-section{
  position:relative;padding:125px 0 145px;overflow:hidden;
  background:radial-gradient(ellipse at 95% 6%,#d2ebfa,transparent 41%),radial-gradient(ellipse at 2% 81%,#d0efe0,transparent 39%),#f8fcfc;
}
.tastes-section::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.32;
 background-image:linear-gradient(#a3c5d827 1px,transparent 1px),linear-gradient(90deg,#a3c5d827 1px,transparent 1px);
 background-size:32px 32px}
.tastes-section>.section-container{position:relative}
.tastes-heading{max-width:880px;margin:0 auto 68px;text-align:center}
.tastes-heading h2{font:800 clamp(52px,6.6vw,92px)/1.03 var(--display);letter-spacing:-.067em;color:var(--forest-dark);margin:0 0 24px}
.tastes-heading h2 em{font-weight:600;color:var(--blue)}
.tastes-heading h2 span{font-size:.55em;color:#1c9771;vertical-align:15px}
.tastes-heading p{max-width:620px;margin:0 auto;color:#516e69;font-size:16px;line-height:1.85}
.tastes-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.taste-card{min-width:0;overflow:hidden;position:relative;border:1px solid #cfe5da;border-radius:18px;padding:32px 36px 35px;background:white;box-shadow:0 12px 32px #103e3020;transition:box-shadow .3s,transform .3s}
.taste-card:hover{transform:translateY(-5px);box-shadow:0 20px 44px #0f403229}
.taste-top{display:flex;align-items:start;justify-content:space-between;gap:15px;color:#547b6b;font:700 10px var(--mono);letter-spacing:.08em;margin-bottom:33px}
.taste-emoji{font:600 38px/1 var(--display);color:#1b9273}
.taste-card h3{font:800 clamp(36px,4vw,59px)/1.07 var(--display);letter-spacing:-.05em;margin:0 0 23px;color:var(--forest-dark)}
.taste-card h3 em{font-weight:600;color:var(--blue)}
.taste-music{min-height:390px;background:linear-gradient(145deg,#083c32,#0b3768 95%);color:white;border-color:#206f79}
.taste-music .taste-top,.taste-music h3{color:#fff}
.taste-music h3{position:relative;z-index:2;margin-bottom:32px}
.taste-music .taste-emoji{color:#b9eefa}
.musicals-list{display:flex;flex-direction:column;position:relative;z-index:2;max-width:350px}
.musicals-list>span{padding:12px 0;border-bottom:1px solid #ffffff40;font:700 clamp(20px,2.6vw,31px) var(--display);letter-spacing:-.025em}
.musicals-list b{font:700 10px var(--mono);color:#a7edc9;margin-right:13px}
.taste-flourish{position:absolute;right:-3%;bottom:0;font-size:clamp(85px,13vw,164px);transform:rotate(-20deg);color:#ffffff17;letter-spacing:-.13em;pointer-events:none}
.taste-color{background:linear-gradient(140deg,#e6f4ff,#f7fcff);border-color:#b8d9f2}
.taste-color h3{font-size:clamp(65px,8vw,108px);color:#1c58a7;line-height:.85}
.taste-color>p{color:#527194;font-size:15px;margin:13px 0 25px}
.taste-color .taste-emoji{color:#3778c3}
.blue-palette{display:grid;grid-template-columns:repeat(4,1fr);height:65px;gap:7px;margin:15px 0 20px}
.blue-palette span{border-radius:8px;box-shadow:inset 0 0 0 1px #ffffff51}
.blue-palette span:nth-child(1){background:#0d2f69}
.blue-palette span:nth-child(2){background:#175bb3}
.blue-palette span:nth-child(3){background:#488ccd}
.blue-palette span:nth-child(4){background:#95c9f3}
.taste-annotation{color:#1e5b9e;font:700 10px var(--mono);letter-spacing:.12em}
.taste-food{min-height:338px;background:#f1faf4}
.taste-food h3{margin-top:45px;margin-bottom:12px}
.taste-food h3 em{color:#18764f}
.taste-food>p{font:700 11px var(--mono);letter-spacing:.05em;color:#638272}
.food-emblem{position:absolute;right:24px;bottom:12px;color:#168e6540;font-size:170px;line-height:1;transform:rotate(-13deg)}
.taste-hobbies{min-height:338px;background:linear-gradient(135deg,#e9f5ff,#e8f7f1)}
.taste-hobbies h3{max-width:480px}
.hobby-tags{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}
.hobby-tags>span{background:white;border:1px solid #b8d8c8;border-radius:7px;padding:13px 17px;color:#225946;font-weight:800;font-size:14px;box-shadow:4px 4px 0 #d4e8df}
.hobby-tags>span>span{font-size:21px;margin-right:7px}
.taste-vive{grid-column:1/-1;background:linear-gradient(115deg,#d4ecdc,#e1f0ff);border-color:#a8d5bb;padding:43px 45px}
.taste-vive .taste-top{margin-bottom:23px}
.vive-content{display:grid;grid-template-columns:.95fr 1.05fr;align-items:center;gap:55px}
.vive-content h3{margin:10px 0 17px}
.vive-content p{max-width:390px;color:#4c6a5c;line-height:1.8;margin:0}
.vive-label{font:700 10px var(--mono);color:#237754;letter-spacing:.09em}
.vive-workshops{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.vive-workshops>span{background:#ffffffb8;border:1px solid #c8e1d4;border-radius:8px;padding:16px 18px;font:800 clamp(16px,1.8vw,23px) var(--display);letter-spacing:-.025em;color:#174d39;box-shadow:3px 5px 0 #92bdab38}
.vive-workshops>span:nth-child(even){color:#194f88}
.vive-workshops i{font:700 10px var(--mono);font-style:normal;color:#599e7a;margin-right:10px}

/* One Laufey track, no A/B controls */
.song-title-card{display:flex;align-items:center;gap:18px;padding:19px 20px;border:1px solid #b5d4ca;border-radius:10px;background:#ffffffd6;max-width:500px;margin:27px 0 20px}
.song-side-mark{width:54px;height:54px;display:grid;place-items:center;flex:none;background:linear-gradient(145deg,#176d54,#1b568d);border-radius:50%;color:white;font-size:27px}
.song-title-card>div{display:flex;flex-direction:column;gap:4px}
.song-title-card strong{font:800 29px var(--display);letter-spacing:-.045em;color:#0b4932}
.song-title-card div>span:last-child{font:700 10px var(--mono);color:#365e88;letter-spacing:.09em}
.song-kicker{font:700 9px var(--mono);letter-spacing:.08em;color:#39735d}
.spotify-embed{max-width:500px;display:block;border:0;border-radius:13px;background:#154435;margin:0 0 14px}
.spotify-link{display:inline-flex;align-items:center;gap:10px;color:#155c49;font:700 10px var(--mono);border-bottom:1px solid #54a881;padding:7px 0;margin-bottom:12px}
.record-spin-toggle{display:inline-flex;gap:12px;align-items:center;background:transparent;border:1px solid #94c7af;padding:10px 14px;border-radius:40px;color:#144735;font:700 10px var(--mono);margin-top:3px}
.record-spin-toggle:hover{background:#e9f7f0}
.record-spin-toggle #recordPlayIcon{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#0e6948;color:#fff;font-size:10px}
.record-muted{font-size:11px!important;line-height:1.6!important;max-width:490px!important}

@media(max-width:850px){
 .school-logo-inner{min-height:160px}
 .school-logo-unit{height:112px;flex-basis:280px}
 .school-logo-tec{max-width:280px}
 .school-logo-tierra{height:112px}
 .tastes-section{padding:95px 0 110px}
 .tastes-heading{margin-bottom:50px}
 .vive-content{gap:23px}
 .taste-card{padding:27px}
 .taste-vive{padding:32px}
 .record-copy .song-title-card,.record-copy .spotify-embed{margin-left:auto;margin-right:auto}
 .record-spin-toggle{justify-content:center}
}
@media(max-width:620px){
 .school-logo-inner{width:calc(100% - 25px);gap:10px;min-height:125px;padding:17px 0}
 .school-logo-unit{height:91px;flex:1 1 48%}
 .school-logo-tec{max-height:84px}
 .school-logo-tierra{height:90px}
 .logo-band-divider{height:67px}
 .tastes-section{padding:78px 0 90px}
 .tastes-heading h2{font-size:clamp(43px,10.6vw,64px)}
 .tastes-heading p{font-size:15px}
 .tastes-grid{grid-template-columns:1fr;gap:18px}
 .taste-card{min-height:0;padding:25px 24px 31px}
 .taste-card h3{font-size:clamp(35px,8.5vw,53px)}
 .taste-color h3{font-size:82px}
 .taste-music{min-height:360px}
 .taste-food{min-height:310px}
 .taste-vive{grid-column:auto}
 .vive-content{grid-template-columns:1fr;gap:29px}
 .vive-workshops{gap:9px}
 .vive-workshops>span{font-size:17px;padding:13px 10px}
 .vive-workshops i{font-size:9px;margin-right:5px}
 .record-copy .song-title-card{text-align:left}
 .song-title-card strong{font-size:25px}
}
@media(max-width:380px){
 .school-logo-unit{height:75px}
 .school-logo-tierra{height:73px}
 .school-logo-tec{max-height:66px}
 .school-logo-inner{min-height:106px}
 .tastes-heading h2{font-size:41px}
 .vive-workshops>span{font-size:15px}
}

@media(prefers-reduced-motion:reduce){.record-spin-toggle{display:none!important}}
