@import "https://fonts.googleapis.com/css2?family=Syncopate:wght@400;700&display=swap";:root{--text:#344c5f;--text-h:#0f2f4e;--bg:#fff;--page-bg:#f7fbf9;--surface:#fff;--surface-muted:#f8f9fa;--input-bg:#f0f2f5;--border:#0f2f4e24;--code-bg:#f4f3ec;--accent:#00509e;--accent-hover:#036;--accent-bg:#00509e1a;--accent-border:#00509e80;--nav-bg:linear-gradient(180deg, #f7fbf9 0%, #d7edf3 100%);--nav-link:#1a4a7a;--nav-link-hover:#00509e;--section-blue:#81a6c6;--section-pale-blue:#aacddc;--section-warm:#f3e3d0;--footer-bg:#d2c4b4;--footer-gradient:linear-gradient(180deg, #f3e3d0 0%, #d9c2aa 52%, #aacddc 100%);--footer-text:#0f2f4e;--footer-muted:#344c5f;--hero-overlay:#fff9;--hero-title:#1a4a7a;--hero-subtitle:#374151;--card-shadow:0 14px 24px #0f2f4e1f;--map-stage-start:#d7edf3;--map-stage-end:#f2f6ef;--map-panel-bg:#fff;--map-stat-bg:#eff6f4;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (width<=1024px){:root{font-size:16px}}html[data-theme=dark]{--text:#c8d8dd;--text-h:#eaf6f8;--bg:#071923;--page-bg:#071923;--surface:#102633;--surface-muted:#15313f;--input-bg:#0b202b;--border:#90b4be33;--code-bg:#102633;--accent:#6faed6;--accent-hover:#8fc6e6;--accent-bg:#6faed626;--accent-border:#6faed68c;--nav-bg:#071923;--nav-link:#c8d8dd;--nav-link-hover:#eaf6f8;--section-blue:#0e2a3a;--section-pale-blue:#153f4a;--section-warm:#2b2620;--footer-bg:#102633;--footer-gradient:linear-gradient(180deg, #2b2620 0%, #102633 100%);--footer-text:#eaf6f8;--footer-muted:#c8d8dd;--hero-overlay:#0719239e;--hero-title:#eaf6f8;--hero-subtitle:#c8d8dd;--card-shadow:0 16px 30px #00000052;--map-stage-start:#0e2a3a;--map-stage-end:#172c25;--map-panel-bg:#102633;--map-stat-bg:#15313f;--social-bg:#102633b3;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}body{margin:0;overflow-x:hidden}#root{text-align:center;flex-direction:column;width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.btn{cursor:pointer;text-align:center;border-radius:5px;justify-content:center;align-items:center;padding:.75rem 1.5rem;font-size:1rem;font-weight:700;text-decoration:none;transition:all .2s ease-in-out;display:inline-flex}.btn-primary{background-color:var(--accent);color:#fff;border:2px solid var(--accent)}.btn-primary:hover{background-color:var(--accent-hover);border-color:var(--accent-hover)}.btn-secondary{color:var(--text-h);border:2px solid var(--text-h);background-color:#0000}.btn-secondary:hover{background-color:var(--accent-bg)}.external-btn{align-items:center;gap:8px;display:inline-flex}.external-btn .icon{font-size:1.1rem;transition:transform .2s}.external-btn:hover .icon{transform:translate(2px,-2px)}.button-group{flex-wrap:wrap;gap:2.5rem;margin-top:2rem;display:flex}@media (width<=640px){.btn{box-sizing:border-box;width:100%}.button-group{gap:.9rem;width:100%}}.navbar{background:var(--nav-bg);color:var(--text);box-sizing:border-box;justify-content:space-between;align-items:center;gap:1.5rem;width:100%;padding:.8rem 2rem;display:flex}.nav-logo{flex:none;min-width:0;font-size:1.5rem;font-weight:700}.nav-actions{justify-content:flex-end;align-items:center;gap:1.25rem;margin-left:auto;display:flex}.nav-links{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:1.5rem;margin:0;padding:0;list-style:none;display:flex}.nav-link{color:var(--nav-link);font-weight:700;line-height:1.2;text-decoration:none;display:inline-flex}.nav-link:hover{color:var(--nav-link-hover);text-decoration:underline}.logo-image{width:auto;max-width:100%;height:78px;display:block}.theme-toggle{background:var(--surface-muted);border:1px solid var(--border);color:var(--nav-link);cursor:pointer;border-radius:999px;flex:none;justify-content:center;align-items:center;width:2.6rem;height:2.6rem;padding:0;transition:background-color .2s,color .2s,transform .2s;display:inline-flex}.theme-toggle:hover{background:var(--accent-bg);color:var(--nav-link-hover);transform:translateY(-1px)}.theme-toggle:focus-visible{outline:3px solid var(--accent-border);outline-offset:2px}.theme-toggle svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:1.25rem;height:1.25rem}@media (width<=720px){.navbar{grid-template-columns:auto auto;grid-template-areas:"brand toggle""links links";justify-content:center;gap:.45rem .75rem;padding:.85rem 1rem .95rem;display:grid}.nav-logo{grid-area:brand;justify-self:end}.logo-image{width:clamp(185px,56vw,245px);height:auto}.nav-links{grid-area:links;justify-content:center;gap:.5rem;width:100%}.nav-actions{display:contents}.nav-link{white-space:nowrap;border-radius:6px;padding:.45rem .5rem;font-size:1rem}.theme-toggle{grid-area:toggle;place-self:center start}}@media (width<=380px){.navbar{padding-inline:.75rem}.nav-links{gap:.15rem}.nav-link{padding-inline:.35rem;font-size:.94rem}}.hero{background-position:50%;background-repeat:no-repeat;background-size:cover;background-color:var(--hero-overlay);background-blend-mode:overlay;box-sizing:border-box;justify-content:center;align-items:center;width:100%;min-height:70svh;display:flex}.hero-content{box-sizing:border-box;text-align:center;width:100%;max-width:800px;padding:2rem}.hero-title{color:var(--hero-title);letter-spacing:0;margin-bottom:1.5rem;font-size:5rem;font-weight:800}.hero-subtitle{color:var(--hero-subtitle);margin-bottom:2.5rem;font-size:1.5rem;font-weight:500;line-height:1.5}.hero-home-subtitle{font-family:"Syncopate", var(--heading);font-weight:400}.hero-actions{justify-content:center;gap:1rem;display:flex}.hero-title{color:var(--hero-title);margin:0;font-size:2rem}.hero-logo-wrap{width:100%;max-width:700px;margin-bottom:1.5rem;display:inline-grid}.hero-logo{grid-area:1/1;width:100%;height:auto}.hero-logo-light,html[data-theme=dark] .hero-logo-dark{opacity:0}html[data-theme=dark] .hero-logo-light{opacity:1}@media (width<=720px){.hero{min-height:46svh;padding:2.5rem 0}.hero-content{padding:1.25rem}.hero-title{font-size:2rem;line-height:1.12}.hero-subtitle{margin-bottom:1.25rem;font-size:1.05rem;line-height:1.45}.hero-logo{max-width:320px}.hero-logo-wrap{max-width:320px;margin-bottom:1rem}}.feature-wrapper{box-sizing:border-box;width:100%;max-width:1200px;margin:0 auto;padding:6rem 2rem}.split-container{justify-content:center;align-items:center;gap:4rem;display:flex}.split-container.reverse{flex-direction:row-reverse}.split-text{text-align:left;flex:1}.split-image{flex:1}.split-image img{width:100%;height:auto;box-shadow:var(--card-shadow);border-radius:12px;display:block}.split-title{color:var(--text-h);margin-top:0;margin-bottom:1.5rem;font-size:2.5rem;line-height:1.2}.split-text p{color:var(--text);margin-bottom:1.5rem;font-size:1.25rem;line-height:1.8}@media (width<=900px){.feature-wrapper{padding:4rem 1.25rem}.split-container,.split-container.reverse{flex-direction:column;gap:2.5rem}.feature-main-header{margin-bottom:2.5rem;font-size:2.25rem}.split-text,.split-image{width:100%}.split-title{font-size:2rem}.split-text p{font-size:1.05rem;line-height:1.65}}@media (width<=520px){.feature-wrapper{padding:3rem 1rem}.split-container,.split-container.reverse{gap:1.75rem}.split-title{font-size:1.75rem}.split-image img{border-radius:8px}}.image-attribution{color:var(--text);text-align:left;margin-top:.5rem;margin-bottom:0;font-size:.75rem;font-style:italic}.carousel-section{justify-content:center;padding:4rem 2rem;display:flex}.carousel-wrapper{flex-direction:column;gap:2.5rem;width:100%;max-width:1000px;display:flex}.carousel-header{text-align:center}.carousel-title{color:var(--text-h);margin-top:0;margin-bottom:1rem;font-size:2rem}.carousel-description{color:var(--text);font-size:1.1rem;line-height:1.6}.carousel-container{width:100%;box-shadow:var(--card-shadow);background-color:var(--surface-muted);border-radius:12px;position:relative;overflow:hidden}.carousel-image-wrapper{aspect-ratio:16/9;width:100%;position:relative}.carousel-image{object-fit:cover;width:100%;height:100%;display:block}.carousel-caption{color:#fff;box-sizing:border-box;text-align:center;background:linear-gradient(#0000 0%,#000c 100%);width:100%;padding:3rem 2rem 1rem;position:absolute;bottom:0;left:0}.carousel-caption p{margin:0;font-size:1.05rem}.carousel-arrow{color:#fff;cursor:pointer;z-index:10;background-color:#5d7b9d;border:none;border-radius:4px;padding:1rem;font-size:1.5rem;transition:background-color .2s;position:absolute;top:50%;transform:translateY(-50%)}.carousel-arrow:hover{background-color:var(--accent)}.left-arrow{left:1rem}.right-arrow{right:1rem}@media (width<=720px){.carousel-section{padding:3rem 1rem}.carousel-wrapper{gap:1.5rem}.carousel-title{font-size:1.75rem}.carousel-description{font-size:1rem}.carousel-image-wrapper{aspect-ratio:4/3}.carousel-caption{padding:2.5rem 1rem .8rem}.carousel-caption p{font-size:.9rem;line-height:1.35}.carousel-arrow{padding:.7rem;font-size:1.1rem}.left-arrow{left:.5rem}.right-arrow{right:.5rem}}@media (width<=420px){.carousel-caption{background:#0f2f4e;padding:.8rem;position:static}}.oil-spill-map{background:var(--surface);border:1px solid var(--border);box-shadow:var(--card-shadow);color:var(--text);text-align:left;border-radius:8px;overflow:hidden}.oil-spill-map h5{color:var(--text-h);margin:.18rem 0 0;font-size:1.25rem;line-height:1.15}.oil-spill-map__stage{aspect-ratio:16/12;background:linear-gradient(180deg, var(--map-stage-start) 0%, var(--map-stage-end) 100%);cursor:grab;overscroll-behavior:contain;touch-action:none;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden}.oil-spill-map__stage:active{cursor:grabbing}.oil-spill-map__canvas{aspect-ratio:1920/1463;transform-origin:50%;width:108%;position:absolute;top:-3%;left:-7%}.oil-spill-map__canvas img{opacity:.84;pointer-events:none;width:100%;display:block}.oil-spill-map__marker{color:#fff;touch-action:manipulation;-webkit-user-select:none;user-select:none;z-index:2;background:#1f69b3;border:2px solid #fff;border-radius:999px;justify-content:center;align-items:center;min-width:1.95rem;height:1.95rem;padding:0 .32rem;transition:transform .16s,box-shadow .16s,background .16s;display:inline-flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 4px #1f69b32e,0 8px 16px #0f2f4e33}.oil-spill-map__marker span{font-size:.56rem;font-weight:800;line-height:1}.oil-spill-map__marker.is-canada{background:#c84630;box-shadow:0 0 0 4px #c846302e,0 8px 16px #0f2f4e33}.oil-spill-map__marker:hover,.oil-spill-map__marker:focus-visible,.oil-spill-map__marker.is-active,.oil-spill-map__marker.is-us:hover,.oil-spill-map__marker.is-us:focus-visible,.oil-spill-map__marker.is-us.is-active{z-index:8;background:#0f3f73;transform:translate(-50%,-50%)scale(1.12);box-shadow:0 0 0 6px #09223533,0 12px 20px #0f2f4e3d}.oil-spill-map__marker.is-canada:hover,.oil-spill-map__marker.is-canada:focus-visible,.oil-spill-map__marker.is-canada.is-active{background:#8f2f22}.oil-spill-map__marker:focus-visible,.oil-spill-map__marker:focus-visible{outline-offset:2px;outline:3px solid #00509e73}.oil-spill-map__details{background:var(--map-panel-bg);border-top:1px solid var(--border);gap:.9rem;padding:1rem;display:grid}.oil-spill-map__details>div:first-child span{color:var(--text);letter-spacing:0;text-transform:uppercase;font-size:.75rem;font-weight:800;line-height:1.2;display:block}.oil-spill-map__details p{color:var(--text);font-size:.9rem;line-height:1.5}.oil-spill-map__details dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin:0;display:grid}.oil-spill-map__details dl div{background:var(--map-stat-bg);border-radius:8px;padding:.65rem}.oil-spill-map__details dt{color:var(--text);text-transform:uppercase;margin-bottom:.25rem;font-size:.68rem;font-weight:800;line-height:1.15}.oil-spill-map__details dd{color:var(--text-h);margin:0;font-size:.88rem;font-weight:700;line-height:1.25}.oil-spill-map__details a{color:var(--accent);font-size:.88rem;font-weight:800;text-decoration:none}.oil-spill-map__details a:hover{text-decoration:underline}@media (width<=720px){.oil-spill-map__stage{aspect-ratio:4/3.5}.oil-spill-map__canvas{width:120%;top:-1%;left:-14%}.oil-spill-map__details dl{grid-template-columns:1fr}.oil-spill-map__details{padding:.9rem}.oil-spill-map__marker{min-width:1.45rem;height:1.45rem;padding:0 .24rem}.oil-spill-map__marker span{font-size:.42rem}}@media (width<=420px){.oil-spill-map__details h5{font-size:1.05rem}.oil-spill-map__details p,.oil-spill-map__details dd{font-size:.82rem}}.about-page{background:var(--section-warm)}.about-team-section{box-sizing:border-box;text-align:left;max-width:1200px;margin:0 auto;padding:5rem 2rem 6rem}.about-team-header{text-align:center;max-width:760px;margin:0 auto 2.5rem}.about-team-header h2{color:var(--text-h);margin:0 0 1rem;font-size:2.5rem;font-weight:800;line-height:1.15}.about-team-header p{color:var(--text);font-size:1.15rem;line-height:1.7}.team-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem;margin:0 auto;display:grid}.team-grid-featured{margin-bottom:1.5rem}.team-grid-featured .team-member-card:first-child{grid-column:2}.team-grid-featured .team-member-card:nth-child(2){grid-column:3}.team-member-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--card-shadow);border-radius:8px;flex-direction:column;display:flex;overflow:hidden}.team-member-card img{aspect-ratio:1;object-fit:cover;width:100%;display:block}.team-member-content{flex-direction:column;flex:1;padding:1rem;display:flex}.team-member-meta{min-height:2rem;margin-bottom:.55rem}.team-member-role{color:var(--text);letter-spacing:0;text-transform:uppercase;margin-bottom:.2rem;font-size:.72rem;font-weight:800;line-height:1.2}.team-member-year,.team-member-major{color:var(--text);font-size:.78rem;font-weight:600;line-height:1.2}.team-member-content h3{color:var(--text-h);margin:0 0 .65rem;font-size:1.12rem;line-height:1.15}.team-member-bio{color:var(--text);font-size:.9rem;line-height:1.45}@media (width<=980px){.about-team-section{padding:4rem 1.25rem 5rem}.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.team-grid-featured .team-member-card:first-child,.team-grid-featured .team-member-card:nth-child(2){grid-column:auto}}@media (width<=520px){.about-team-section{padding:3rem 1rem 4rem}.about-team-header h2{font-size:2rem}.about-team-header p{font-size:1rem}.team-grid{grid-template-columns:1fr}.team-member-content{padding:1.2rem}.team-member-content h3{font-size:1.35rem}}.contact-page{background-color:var(--section-warm);min-height:100vh}.contact-container{background:var(--surface);max-width:1180px;box-shadow:var(--card-shadow);z-index:2;box-sizing:border-box;border-radius:12px;flex-direction:column;gap:2rem;width:calc(100% - 2rem);margin:-4rem auto 4rem;padding:3rem;display:flex;position:relative}.contact-boxes{gap:4rem;display:flex}.contact-info{background-color:var(--surface-muted);border-radius:8px;flex:50%;padding:2rem}.contact-page-heading{text-align:center;color:var(--text-h);margin-top:0;margin-bottom:.5rem;font-size:2.5rem;font-weight:700}.contact-info h3{color:var(--text-h);margin-top:0;margin-bottom:.5rem;font-size:1.8rem}.contact-info p{color:var(--text);margin-bottom:1.5rem;line-height:1.5}.social-links{flex-direction:column;gap:1.2rem;display:flex}.social-btn{white-space:nowrap;box-sizing:border-box;color:#fff;border-radius:8px;justify-content:center;align-items:center;gap:10px;width:100%;padding:1.2rem 1.8rem;font-size:1.3rem;font-weight:600;text-decoration:none;transition:transform .2s,opacity .2s;display:flex}.social-btn:hover{opacity:.9;transform:translateY(-3px)}.email-btn{background-color:#1a4a7a}.ig-btn{background:linear-gradient(45deg,#f09433 0%,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888 100%)}.linkedin-btn{background-color:#0a66c2}.contact-form-wrapper{background-color:var(--surface-muted);border-radius:8px;flex:50%;padding:2rem}.contact-form-wrapper h3{color:var(--text-h);margin-top:0;margin-bottom:.5rem;font-size:1.8rem}.contact-form-wrapper p{color:var(--text);margin-bottom:1.5rem;line-height:1.5}.contact-form{flex-direction:column;gap:1.2rem;display:flex}.contact-form input,.contact-form textarea,.submit-btn{box-sizing:border-box;width:100%}.contact-form input,.contact-form textarea{background-color:var(--input-bg);border:1px solid var(--border);color:var(--text-h);resize:none;border-radius:12px;padding:1rem;font-family:inherit;font-size:1rem}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--accent);background-color:var(--surface);outline:none}.submit-btn{color:#fff;cursor:pointer;background-color:#00509e;border:none;border-radius:12px;margin-top:.5rem;padding:1.2rem;font-size:1.1rem;font-weight:700;transition:background-color .2s}.submit-btn:hover{color:#fff;background-color:#036}html[data-theme=dark] .submit-btn{background-color:var(--accent);color:#061923}html[data-theme=dark] .submit-btn:hover{background-color:var(--accent-hover);color:#061923}@media (width<=900px){.contact-container{margin:0 auto 3rem;padding:2rem}.contact-boxes{flex-direction:column;gap:1.5rem}}@media (width<=560px){.contact-container{border-radius:0;width:100%;padding:1.25rem}.contact-page-heading{font-size:2rem}.contact-info,.contact-form-wrapper{padding:1.25rem}.contact-info h3,.contact-form-wrapper h3{font-size:1.45rem}.social-btn{white-space:normal;padding:.95rem 1rem;font-size:1rem}}.footer{background:var(--footer-gradient);border-top:1px solid var(--border);width:100%;margin-top:auto;padding:2rem 0}.footer-content{justify-content:space-between;align-items:center;max-width:1000px;margin:0 auto;padding:0 2rem;display:flex}.footer-section h3{color:var(--footer-text);margin:0 0 .5rem;font-size:1.25rem}.footer-section p{color:var(--footer-muted);margin:0;font-size:.9rem}@media (width<=600px){.footer-content{text-align:center;flex-direction:column;gap:1rem;padding:0 1rem}.footer{padding:1.5rem 0}}
