:root{--font-serif:"Palatino Linotype",serif;--navy:#202f58;--blush:#fcf2f5;--rose:#d59bab;--ink:#19223a;--muted:#665358;--page:#fafafa;--wide:980px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--page);color:var(--ink);font-family:var(--font-serif);line-height:1.5}a{color:inherit}img,video,iframe{max-width:100%}.skip{position:absolute;left:-9999px;top:0;background:#fff;padding:1rem;z-index:30}.skip:focus{left:1rem}.site-header{background:var(--blush);position:sticky;top:0;z-index:12}.nav{height:38px;max-width:1400px;padding:0 3%;margin:auto;display:flex;align-items:center;justify-content:flex-end}.wordmark{display:none}.nav-links{display:flex;gap:3.2rem;align-items:center}.nav-links a{text-decoration:none;font-size:13px}.nav-links a:hover,.back:hover{text-decoration:underline}.nav-toggle,.nav-close{display:none}.nav-backdrop{display:none}.container{max-width:var(--wide);padding:0 22px;margin:auto}.section{scroll-margin-top:65px}.section-heading{background:var(--blush);border-bottom:5px solid var(--navy)}.section-heading h2{font-size:clamp(3rem,5.3vw,5.4rem);line-height:1.15;color:var(--navy);margin:0;padding:0 16px 9px;font-weight:700}/* The original desktop header is only 38px tall. The first 25px of the hero mimics the extra pink header strip seen at the top of the Wix homepage; it scrolls away with the hero. */
.hero{background:linear-gradient(to bottom,var(--blush) 0 25px,var(--navy) 25px 100%);color:#d7d9e2;min-height:556px;padding:57px 0 35px}.hero-grid{display:grid;grid-template-columns:290px minmax(0,1fr);gap:40px;align-items:start}/* Keep the photo at its natural aspect ratio: Wix showed the full forehead, with the tilted portrait crossing the pink/blue boundary. */
.portrait-stage{position:relative;width:245px;margin:-34px 0 0 50px;transform:rotate(-7deg);transform-origin:center;isolation:isolate}
.portrait-stage::before,.portrait-stage::after{content:"";position:absolute;bottom:-7px;width:49%;height:29px;z-index:-1;border-radius:50%;background:rgba(5,11,27,.70);filter:blur(7px);pointer-events:none}
.portrait-stage::before{left:3px;transform:rotate(-8deg) skewY(-7deg);transform-origin:bottom left}
.portrait-stage::after{right:3px;transform:rotate(8deg) skewY(7deg);transform-origin:bottom right}
.portrait-placeholder{height:435px;width:245px;margin:0;background:transparent;display:block;padding:0;box-shadow:3px 8px 13px rgba(10,19,44,.53)}.hero h1{font-size:clamp(3.5rem,5.5vw,5.6rem);color:#fce5ed;line-height:1.1;margin:0 0 25px}.hero .credentials{font-weight:bold;font-size:1.18rem;line-height:1.55;letter-spacing:.01em}.hero .notice,.hero .winning{font-family:"Caveat",cursive;font-size:clamp(1.45rem,2.4vw,2.05rem);line-height:1.3;font-weight:400}.hero .notice{margin:46px 0 34px}.hero .winning{margin:0 0 20px}.hero .blog-more{text-align:right;font-weight:bold;font-size:1.15rem;color:#fce5ed}.project-wrap{padding:8px 0 38px}.projects{display:block}.project{display:grid;grid-template-columns:290px 1fr;gap:18px;padding:12px 0 22px}.project+.project{border-top:1px solid #91a0c0}.project-image{width:290px;min-height:220px;background:#edf0f1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--navy);text-align:center;position:relative}.project-image .image-note{padding:1rem;opacity:.75;font-size:.9rem}.button-link{background:var(--navy);color:#fff;padding:.4rem 1.5rem;min-width:125px;text-align:center;text-decoration:none;display:inline-block}.project h3{color:var(--navy);font-size:clamp(1.35rem,2.3vw,1.85rem);margin:0;font-weight:bold;line-height:1.25}.project:first-child h3,.project:nth-child(2) .project-text{font-style:italic}.project-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:.83rem;margin:2px 0 9px;gap:1rem}.project p{font-size:1rem;line-height:1.5;margin:10px 0;text-align:justify}.education{background:var(--blush);padding-bottom:30px}.degrees{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:26px 0 4px}.degree{background:#fff;padding:22px 30px 18px;min-width:0}.degree h3{text-align:center;color:var(--navy);font-size:1.25rem;margin:.4rem 0 16px}.degree ul{padding-left:24px;font-size:.96rem}.degree li{margin:0}.degree-logo{color:var(--navy);font-weight:bold;text-align:center;min-height:55px;display:grid;place-items:center}.degree:last-child{grid-column:1/-1}.degree:last-child .degree-logo{text-align:left;display:inline-block;min-height:0}.degree:last-child ul{display:flex;gap:2rem;flex-wrap:wrap}.contact{background:var(--blush)}.contact-body{background:var(--navy);color:#fce5ed;padding:44px 0 56px}.contact-grid{display:grid;grid-template-columns:1fr .8fr;gap:65px}.contact h3{font-size:clamp(2.3rem,4vw,3.8rem);margin:0 0 23px}.contact-copy p{font-weight:bold;font-size:1.18rem}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:17px 24px}.contact-form label{font-family:Arial,sans-serif;display:flex;flex-direction:column;gap:3px;font-size:.82rem}.contact-form input,.contact-form textarea{width:100%;font:inherit;padding:.7rem;border:0;border-bottom:2px solid #111;background:#fff}.full{grid-column:1/-1}.contact-form button{border:0;background:#fff;color:var(--navy);padding:.8rem 2.2rem;font:inherit}.contact-form button:disabled{opacity:.75}.contact-note{font-size:.75rem;color:#e8cad5}.detail{max-width:800px;margin:auto;padding:4rem 1.25rem 6rem;min-height:55vh}.detail h1{font-size:clamp(2rem,4vw,3.5rem);line-height:1.2}.detail .lead{font-size:1.15rem;line-height:1.75}.detail .source{border-top:1px solid #ddd;margin-top:2rem;padding-top:1rem;font-size:.92rem}.back{display:inline-block;margin-bottom:2rem}.site-footer{text-align:center;padding:1.25rem;background:var(--blush);color:var(--navy);font-size:.9rem}.blog-banner{background:var(--navy);color:var(--rose);font-size:clamp(2.7rem,5vw,4.8rem);padding:20px max(22px,calc((100vw - var(--wide))/2));font-weight:bold}.blog-list{max-width:var(--wide);margin:40px auto;padding:0 22px}.blog-entry{display:grid;grid-template-columns:235px 1fr;border:1px solid #ddd;background:var(--blush);margin-bottom:8px;min-height:170px}.blog-photo{background:#e6dfe3;display:grid;place-items:center;color:#777;font-size:.85rem;padding:1rem;text-align:center}.blog-entry-content{padding:24px 30px}.blog-entry h2{margin:0 0 10px;font-size:1.65rem}.blog-entry p{color:#625b69}.eyebrow{font-size:.85rem;color:var(--muted)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #468cdc;outline-offset:3px}@media(max-width:750px){.site-header .nav{height:90px;padding:0 6%}.nav-toggle{display:block;border:0;background:transparent;cursor:pointer;padding:10px}.menu-bars{display:flex;flex-direction:column;gap:8px}.menu-bars i{display:block;background:#65738e;width:31px;height:3px;border-radius:3px}.nav-links{position:fixed;right:0;top:0;bottom:0;width:min(81vw,360px);background:var(--blush);display:none;flex-direction:column;align-items:flex-start;justify-content:flex-start;padding:20px 40px;gap:28px;z-index:22;overflow-y:auto}.nav-links.open{display:flex}.nav-close{display:block;align-self:flex-end;background:none;border:0;font-family:Arial,sans-serif;font-size:2.7rem;line-height:1;cursor:pointer;margin-bottom:18px;color:#333}.nav-links a{font-size:1.65rem}.nav-backdrop:not([hidden]){display:block;position:fixed;inset:0;border:0;background:#0006;z-index:11}.container{padding:0 22px}.hero{background:var(--navy);padding:30px 0 24px;min-height:0}.hero-grid{grid-template-columns:1fr;gap:20px}.portrait-placeholder{height:auto;width:min(75vw,270px);margin:0 0 0 8px}.hero h1{font-size:clamp(2.5rem,11vw,4rem);text-align:center;margin:0 0 15px;white-space:normal}.hero .credentials{text-align:center;font-size:clamp(1.2rem,5vw,1.55rem)}.hero .notice,.hero .winning{text-align:center;font-size:clamp(1.6rem,6vw,2.2rem)}.hero .notice{margin:35px 0}.hero .blog-more{text-align:center;font-size:1.5rem}.section-heading h2{font-size:clamp(3rem,13vw,4.4rem);padding:12px 2px}.project{grid-template-columns:1fr;gap:15px;padding:20px 0}.project-image{width:min(82%,340px);min-height:240px;margin:auto}.project h3{font-size:clamp(1.8rem,7vw,2.55rem);line-height:1.3}.project-meta{font-size:1.1rem;display:block}.project-meta span:last-child{display:block;text-align:right;margin-top:16px}.project p{font-size:1.15rem}.button-link{font-size:1.15rem}.degrees{grid-template-columns:1fr;gap:0}.degree{background:transparent;padding:22px 8px}.degree:last-child{grid-column:auto}.degree:last-child ul{display:block}.degree h3{font-size:1.6rem}.degree ul{font-size:1.2rem}.contact-grid{grid-template-columns:1fr;gap:24px}.contact-copy{grid-row:1}.blog-banner{font-size:clamp(2.7rem,12vw,4rem)}.blog-list{margin:30px auto;padding:0}.blog-entry{display:block;margin-bottom:16px}.blog-photo{min-height:250px}.blog-entry-content{padding:25px 20px}.blog-entry h2{font-size:2.1rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Homepage and Taking Note media: screenshot-based first pass */
.portrait-placeholder{padding:0;background:transparent;border:0;overflow:hidden;display:block}
.portrait-placeholder img{height:auto;width:100%;object-fit:contain;display:block}
.project-image{overflow:hidden}
.project-image img{width:100%;height:100%;min-height:220px;object-fit:cover;display:block}
.project-image .button-link{position:absolute;left:50%;bottom:30%;transform:translateX(-50%);z-index:2}
.degree-logo img{display:block;margin:0 auto;max-height:65px;max-width:90%;width:auto;height:auto;object-fit:contain}
.blog-toolbar{display:flex;justify-content:space-between;color:#9ba6bf;margin-bottom:24px}
.blog-cover{display:block;min-height:170px;overflow:hidden;background:#f6ebef;text-decoration:none}
.blog-cover img{width:100%;height:100%;min-height:170px;object-fit:cover;display:block}
.blog-cover span{display:block;padding:2rem;text-align:center}
.blog-entry-content h2 a{text-decoration:none}
.blog-entry-content h2 a:hover{text-decoration:underline}
.post-outer{border:18px solid var(--navy);padding:18px;background:var(--blush)}
.post-inner{max-width:760px;margin:0 auto;padding:40px 26px 55px}
.post-inner h1{font-size:clamp(2.1rem,4vw,3.3rem);line-height:1.2;margin:.4rem 0 1.4rem}
.post-inner p{font-size:1.15rem}
.post-meta{font-size:.85rem!important;color:var(--muted)}
.post-gallery{margin-top:50px;display:grid;gap:22px}
.post-video{margin:32px 0}
.post-video video{display:block;width:100%;height:auto;max-height:75vh;background:#101010}
.post-video figcaption{font-size:.9rem;color:var(--muted);margin-top:10px}
.post-gallery img{width:100%;height:auto;display:block}
@media(max-width:750px){
.portrait-stage{width:min(75vw,270px);margin:0 0 0 8px}
.portrait-stage::before,.portrait-stage::after{display:none}
.portrait-placeholder{height:auto;width:100%;min-height:0;aspect-ratio:auto;max-width:74vw;overflow:visible}
.project-image{min-height:0;height:auto;display:flex;flex-direction:column;background:transparent;overflow:visible}
.project-image img{min-height:0;aspect-ratio:1.3;object-fit:cover}
.project-image .button-link{position:static;transform:none;margin:16px auto 0;min-width:155px}
.degree-logo img{max-height:80px}
.blog-cover img{min-height:0;aspect-ratio:1.22}
.post-outer{border-width:9px;padding:10px}
.post-inner{padding:20px 12px 35px}
}

/* Second-pass visual corrections and document presentations */
.project-detail{max-width:980px;color:var(--ink)}
.project-detail .eyebrow{font-size:1rem;color:#826b76}
.project-detail h1{color:var(--navy);font-size:clamp(2.35rem,5vw,4.5rem);font-weight:700;line-height:1.12}
.project-detail .lead{font-size:1.22rem}
.project-detail .source{font-size:.91rem;color:#59637c}
.detail-image{display:block;max-width:100%;height:auto;margin:22px auto}
.text-link{display:inline-block;margin:.8rem}
.project-gallery{margin:38px 0}
.project-gallery h2{font-size:2rem;color:var(--navy)}
.slide-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}
.slide-gallery figure{margin:0;background:white;border:1px solid #dfe1e8;padding:10px}
.slide-gallery figcaption{text-align:center;font-size:.86rem;color:#65718e}
.slide-gallery img{width:100%;margin:0}
.post-inner{font-size:1.1rem}
.post-inner p{line-height:1.8}
.post-gallery{margin:28px 0 40px;gap:16px}
.post-gallery figcaption,.photo-caption{font-size:.88rem!important;color:#5d6781;line-height:1.45!important;text-align:center}
.migration-note{color:#61536a;font-size:.85rem!important}
.blog-entry{transition:box-shadow .15s ease}
.blog-entry:hover{box-shadow:0 3px 10px #202f5810}
@media(max-width:750px){
 .project-detail{padding:2.4rem 20px 4rem}
 .slide-gallery{grid-template-columns:1fr}
 .post-inner p{font-size:1.04rem}
}

/* Original Wix project-page reconstruction — screenshot reference */
.wix-project{background:#fff;min-height:calc(100vh - 120px);color:#332c2c}
.project-container{width:min(980px,calc(100% - 44px));margin:0 auto}
.wix-project-hero{background:var(--navy);color:#d4a0ae;padding:23px 0 32px}
.project-kicker{font-size:1.1rem;font-weight:bold;color:#f5e7ec;margin:0 0 9px}
.wix-project-hero h1{font-family:var(--font-serif);font-size:clamp(2.1rem,4vw,3.55rem);font-weight:700;font-style:italic;line-height:1.16;letter-spacing:.005em;margin:0;max-width:790px;color:#d4a0ae}
.project-content{padding-top:24px;padding-bottom:100px}
.project-action-bar{display:flex;align-items:center;gap:26px;min-height:72px}
.project-back{display:inline-flex;align-items:center;gap:12px;text-decoration:underline;color:var(--navy);font-size:.95rem;font-weight:bold;white-space:nowrap}
.project-back>span{display:grid;place-items:center;width:36px;height:41px;border-radius:6px;background:var(--navy);color:#d4a0ae;font-size:2.2rem;font-weight:normal;line-height:1;text-decoration:none}
.project-download{display:flex;align-items:center;flex-direction:column;text-decoration:none;color:#5e6a8a;font-size:.75rem;line-height:1.2;gap:3px}
.pdf-icon{display:grid;place-items:center;width:32px;height:41px;background:#fff;border:1px solid #d4d6de;border-radius:3px;color:#e1443c;font-size:.8rem;font-family:Arial,sans-serif;font-weight:bold}
.project-date{margin-left:auto;color:var(--navy);font-size:.92rem;text-align:right}
.project-body{font-family:var(--font-serif);font-size:.96rem;line-height:1.43;padding-top:20px}
.project-body h2{font-size:.98rem;color:#332c2c;margin:0;font-weight:bold}
.project-body p{margin:0 0 18px}
.project-gallery{margin-top:35px}
.wix-project .source{border-top:1px solid #e3e3e3;padding-top:20px;color:#65718e;margin-top:40px}
@media(max-width:750px){.project-container{width:calc(100% - 34px)}.wix-project-hero{padding:28px 0}.wix-project-hero h1{font-size:clamp(2.1rem,8.5vw,3.3rem)}.project-kicker{font-size:.95rem}.project-action-bar{gap:14px;flex-wrap:wrap}.project-date{flex-basis:100%;text-align:left;margin-left:0}.project-content{padding-bottom:55px}.project-body{font-size:1rem;line-height:1.6;padding-top:18px}.project-back{font-size:.9rem}}

/* Wix portfolio thumbnails: a fixed 299:253 ratio, independent of text length.
   The photo and View overlay together form one accessible link. */
@media (min-width:751px) {
  .project { grid-template-columns:299px minmax(0,1fr); }
  .project-image { width:299px; height:253px; min-height:0; aspect-ratio:299 / 253; display:block; align-self:start; position:relative; overflow:hidden; }
  .project-image img { display:block; width:100%; height:100%; min-height:0; object-fit:cover; }
  .project-image .button-link { position:absolute; left:50%; bottom:50%; transform:translate(-50%,50%); margin:0; pointer-events:none; }
}
.project-image { text-decoration:none; cursor:pointer; }
.project-image:focus-visible { outline:3px solid #468cdc; outline-offset:4px; }
@media (max-width:750px) {
  .project-image { height:auto; aspect-ratio:auto; }
  .project-image img { width:100%; height:auto; min-height:0; aspect-ratio:299 / 253; object-fit:cover; }
  .project-image .button-link { pointer-events:none; }
}

/* Faithful scientific video/project references */
.project-video{width:100%;aspect-ratio:16/9;margin:32px auto 55px;background:#101010}
.project-video iframe{width:100%;height:100%;border:0;display:block}
.project-references{margin-top:30px;color:#332c2c;font-family:var(--font-serif)}
.project-references h2{font-size:1.05rem;font-weight:700;margin:0 0 25px;padding:7px 0 3px;border-top:5px solid var(--navy);border-bottom:1px solid #847b7b}
.project-references ol{margin:0;padding-left:1.2rem}
.project-references li{font-size:.89rem;line-height:1.45;margin-bottom:17px;padding-left:.12rem;overflow-wrap:anywhere}
.project-references a{color:inherit;text-decoration:underline;text-underline-offset:2px}
@media(max-width:750px){.project-video{margin:24px auto 35px}.project-references li{font-size:.93rem;line-height:1.55}}

/* Wix's Reverse Methanogenesis masthead is upright; other project titles may be italic. */
/* Honor the Wix font declaration: use Palatino Linotype if locally available,
   otherwise the browser serif fallback (Times-Bold on the inspected Mac). */
.wix-project.title-upright .wix-project-hero h1{font-style:normal;font-weight:700}
/* The original Wix title fits on two lines on a desktop. Keep its full
   content width and a slightly smaller type size, without changing other
   portfolio headings or the narrow-screen layout. */
@media (min-width:751px){
  .wix-project.title-upright .wix-project-hero h1{
    max-width:none;
    font-size:clamp(2.15rem,3.3vw,2.94rem);
    line-height:1.66;
    letter-spacing:0;
  }
}


/* Original Journal Colloquy project page: upright Times-style title. */
.wix-project.title-plain .wix-project-hero h1{font-style:normal;max-width:900px}

/* YopX page: preserve taxonomic italics and original multi-paragraph paper spacing. */
.wix-project.yopx-project .wix-project-hero h1{font-style:normal}
.wix-project.yopx-project .project-body{padding-top:25px}
.wix-project.yopx-project .project-body p{margin-bottom:30px}
.wix-project.yopx-project .project-references{margin-top:34px}
@media(max-width:750px){.wix-project.yopx-project .project-body p{margin-bottom:24px}}

/* Screenshot-matched portfolio summaries. Quotes retain original italic styling;
   descriptions and scientific title fragments stay upright except marked taxonomy. */
.project:first-child h3{font-style:italic}
.project:not(:first-child) h3{font-style:normal}
.project .project-text{font-style:normal}
.project .project-testimonial{font-style:italic}
.project-copy{min-width:0}
.project-copy p{margin-top:14px;margin-bottom:15px}
.project-attribution{text-align:right!important;color:#687795;font-size:.86rem!important;line-height:1.45!important;margin:28px 12px 0!important}
.project h3 em{font-style:italic}
@media(max-width:750px){.project-attribution{font-size:1rem!important;margin:20px 4px 4px!important}}

/* Screenshot calibration: Wix uses a narrower portfolio than our initial
   desktop scaffold, with slightly larger and more open project summaries.
   Both width changes retain the original mobile responsive rules. */
@media(min-width:751px){
  .project-copy .project-text{font-size:18px;line-height:25.2px}
}

/* Hero's name and supporting copy are separate grid items. Desktop placement
   preserves the existing floating portrait and two-column composition. */
@media(min-width:751px){
  .hero-grid{grid-template-rows:auto 1fr;row-gap:0}
  .hero-grid .portrait-stage{grid-column:1;grid-row:1 / 3}
  .hero-grid .hero-name{grid-column:2;grid-row:1}
  .hero-grid .hero-details{grid-column:2;grid-row:2}
}
@media(max-width:750px){
  /* Shorter portrait and name side by side, leaving more page visible. */
  .hero{padding:24px 0 28px}
  .hero-grid{display:grid;grid-template-columns:minmax(0,43%) minmax(0,57%);column-gap:0;row-gap:18px;align-items:center}
  .hero-grid .portrait-stage{grid-column:1;grid-row:1;width:min(100%,170px);margin:10px 0 8px 4px;transform:rotate(-5deg)}
  .hero-grid .portrait-placeholder{height:218px;width:100%;max-width:none;overflow:hidden;box-shadow:3px 7px 11px rgba(10,19,44,.5)}
  .hero-grid .portrait-placeholder img{width:100%;height:auto;object-fit:contain;object-position:top center}
  .hero-grid .hero-name{grid-column:2;grid-row:1;min-width:0;text-align:left;font-size:clamp(2.1rem,8.7vw,3.8rem);line-height:1.06;margin:0 0 0 14px;overflow-wrap:normal}
  .hero-grid .hero-name span{display:block}
  .hero-grid .hero-details{grid-column:1 / -1;grid-row:2;min-width:0}
  .hero-grid .credentials{margin:6px 0 20px}
  .hero-grid .notice{margin:24px 0 23px}
}

/* October 2026 Wix comparison: desktop portrait/text should sit a little farther
   left, and Caveat should fit the announcement in three lines rather than four.
   Keep the 556px total hero height (including its 25px pink overlap strip). */
@media(min-width:751px){
  .hero .hero-name{margin-bottom:12px}
  .hero .notice,.hero .winning{font-size:clamp(1.45rem,2vw,1.8rem);line-height:1.3}
  .hero .notice{margin-top:46px;margin-bottom:34px}
}
@media(min-width:1050px){
  .hero .container{position:relative;left:-18px}
}
/* Increase the breathing room between the tilted portrait and stacked name.
   On narrower phones, adapt the name size to prevent offscreen text. */
@media(max-width:750px){
  .hero-grid{grid-template-columns:minmax(0,43%) minmax(0,1fr);column-gap:22px}
  .hero-grid .hero-name{font-size:clamp(1.85rem,8vw,3.6rem)}
}
@media(max-width:360px){
  .hero-grid{grid-template-columns:minmax(0,40%) minmax(0,1fr);column-gap:13px}
  .hero-grid .hero-name{font-size:clamp(1.55rem,7.5vw,2rem);margin-left:7px}
}

/* Three-field contact form with Formspree and Turnstile. */
.contact-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.contact-form .full{grid-column:1/-1}
.contact-form label{font-size:.9rem}
.contact-form input,.contact-form textarea{font-size:1rem;min-width:0}
.contact-form button{cursor:pointer}
.contact-form button:disabled{cursor:wait}
.contact-security{min-width:0}
.contact-turnstile{max-width:100%;min-height:64px}
.contact-status{min-height:1.5em;margin:10px 0 0;color:#fce5ed;font-size:.95rem}
.contact-note:empty{display:none}
@media(max-width:750px){.contact-grid{gap:25px}.contact-turnstile{overflow:visible}}

/* Clear, high-contrast, in-page confirmation rather than a Formspree redirect. */
.contact-status{display:none;margin:14px 0 0;padding:16px 18px;border-radius:4px;font:700 1.08rem/1.45 Arial,sans-serif;text-align:center}
.contact-status:not(:empty){display:block}
.contact-status--success{background:#e6f6e9;color:#154d29;border:2px solid #318350}
.contact-status--success::before{content:"✓";display:inline-block;margin-right:10px;font-size:1.35rem}
.contact-status--error{background:#fff1ee;color:#802d24;border:2px solid #a74339}
.contact-status--pending{background:#f7eef3;color:#202f58;border:2px solid #b0a2b5}
.contact-status:focus{outline-offset:3px}

/* Compact contact form: name and email share a row, but stack on phones. */
.contact-form label[for="contact-name"],.contact-form label[for="contact-email"]{grid-column:auto}
@media(max-width:750px){.contact-form{grid-template-columns:minmax(0,1fr)}}

/* PGRS: match the original four-level academic title and interactive slideshow. */
.pgrs-project .wix-project-hero h1{font-size:clamp(2rem,3.6vw,3.2rem);font-style:normal;max-width:980px;line-height:1.05}
.pgrs-project .pgrs-intro{display:block;font-size:.62em;margin-bottom:7px}
.pgrs-project .pgrs-subtitle{color:#d4a0ae;font-size:clamp(1.25rem,2.2vw,2rem);line-height:1.25;margin:18px 0 20px}
.pgrs-project .pgrs-byline{color:#d4a0ae;font-size:1.13rem;font-weight:700;margin:0}
.pgrs-project .project-body:empty{display:none}
.pgrs-slideshow{margin:32px auto 42px;max-width:100%;text-align:center}
.pgrs-slide-frame{position:relative;background:#35494e;overflow:hidden;aspect-ratio:16/9;display:flex;align-items:center;justify-content:center}
.pgrs-slide-image{width:100%;height:100%;object-fit:contain;display:block}
.pgrs-prev,.pgrs-next{position:absolute;top:50%;transform:translateY(-50%);border:0;background:rgba(25,39,50,.52);color:white;cursor:pointer;font-size:3rem;line-height:1;padding:8px 15px;z-index:1}
.pgrs-prev{left:0}.pgrs-next{right:0}
.pgrs-prev:hover,.pgrs-next:hover{background:rgba(25,39,50,.88)}
.pgrs-slide-controls{display:flex;justify-content:center;align-items:center;gap:18px;margin:12px 0;color:#213159}
.pgrs-pause{border:1px solid #213159;background:white;color:#213159;padding:6px 16px;cursor:pointer}
.pgrs-dots{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:15px auto;max-width:850px}
.pgrs-dots button{padding:0;width:9px;height:9px;border:1px solid #213159;border-radius:50%;background:#d1d5df;cursor:pointer}
.pgrs-dots button[aria-current="true"]{background:#213159;transform:scale(1.25)}
.pgrs-slideshow button:focus-visible{outline:3px solid #d5a0ae;outline-offset:3px}
@media(max-width:750px){.pgrs-project .wix-project-hero h1{font-size:clamp(1.8rem,7vw,2.7rem)}.pgrs-slide-frame{aspect-ratio:16/9}.pgrs-prev,.pgrs-next{font-size:2rem;padding:8px}.pgrs-dots{gap:7px}}

/* Keep verification and submit together without growing the desktop form vertically. */
/* Align Submit with the Turnstile widget itself, not the note below it. */
.contact-submit-row{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:18px;row-gap:8px;align-items:start}
.contact-submit-row .contact-security{min-width:0}
.contact-submit-row .contact-actions{display:flex;align-items:center;justify-content:flex-end;margin-top:7px}
.contact-submit-row #contact-submit{min-width:112px}
.contact-submit-row .contact-status{grid-column:1/-1;margin-top:3px}
@media(max-width:540px){
  .contact-submit-row{grid-template-columns:minmax(0,1fr)}
  .contact-submit-row .contact-actions{justify-content:flex-start}
}

/* Taking Note: compact, incremental archive with keyboard-accessible search. */
.blog-search-label{display:flex;align-items:center;gap:10px;color:#253458;font-size:.92rem}
.blog-search-label input{border:1px solid #a8a6b6;padding:8px 11px;background:white;color:#151a30;max-width:100%;width:220px;font:inherit}
.blog-cover-placeholder{display:grid;place-items:center;background:#e4d7de;color:#26375b;font-size:1.35rem;font-weight:bold}
.blog-cover-placeholder span{padding:20px}
.blog-archive-note{font-size:.8rem!important;color:#5f6176!important;margin-top:18px}
.blog-load-area{display:grid;justify-items:center;gap:9px;margin:28px auto 48px}
.blog-load-area button{background:#213159;color:white;border:0;padding:12px 30px;cursor:pointer;font:inherit}
.blog-load-area button:hover{background:#394d7d}
.blog-load-area button[hidden]{display:none}
.blog-load-area p{color:#5f6176;font-size:.9rem;margin:0}
@media(max-width:750px){.blog-toolbar{align-items:flex-start;gap:13px;flex-direction:column}.blog-search-label{width:100%;justify-content:space-between}.blog-search-label input{width:min(65vw,250px)}}


/* Taking Note — Wix's standard 228 x 171 (4:3) blog thumbnails.
   Both portrait and landscape originals crop within the same frame;
   article galleries continue to display their full originals. */
.blog-entry{grid-template-columns:228px minmax(0,1fr);min-height:171px}
.blog-entry .blog-cover{
  position:relative;
  display:block;
  width:228px;
  height:171px;
  min-height:0;
  aspect-ratio:4/3;
  overflow:hidden;
}
.blog-entry .blog-cover img{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  min-height:0;
  aspect-ratio:auto;
  object-fit:cover;
  object-position:center center;
}
.blog-entry .blog-cover-placeholder{display:grid;place-items:center}
@media(max-width:750px){
  .blog-entry{display:block;min-height:0}
  .blog-entry .blog-cover{
    width:100%;
    height:auto;
    aspect-ratio:4/3;
  }
}

/* Taking Note galleries: small, fixed viewing stage with full uncropped
   images, plus a thumbnail strip. This changes no original image files. */
.post-single-gallery,.post-carousel{width:100%;max-width:760px;margin:28px auto 40px}
.post-single-photo{display:block;width:fit-content;max-width:100%;border:0;background:transparent;padding:0;margin:0 auto;cursor:zoom-in}
.post-single-photo img{display:block;max-width:100%;width:auto;max-height:540px;height:auto;margin:auto;object-fit:contain}
.post-carousel-stage{position:relative;width:100%;aspect-ratio:4/3;max-height:570px;background:#202125;overflow:hidden}
.post-carousel-main{display:flex;align-items:center;justify-content:center;width:100%;height:100%;border:0;padding:0;background:transparent;cursor:zoom-in}
.post-carousel-main img{display:block;width:100%;height:100%;object-fit:contain}
.post-carousel-prev,.post-carousel-next{position:absolute;z-index:1;top:50%;transform:translateY(-50%);border:0;background:#202f58db;color:white;cursor:pointer;font-size:2.4rem;padding:5px 12px;line-height:1.3}
.post-carousel-prev{left:0}.post-carousel-next{right:0}
.post-carousel-lower{display:flex;align-items:center;justify-content:center;font-size:.85rem;color:#5f6176;padding:8px}
.post-carousel-thumbs{display:flex;gap:8px;padding:5px 0 8px;overflow-x:auto;scrollbar-width:thin;justify-content:flex-start}
.post-carousel-thumbs button{width:93px;height:70px;flex:0 0 93px;border:2px solid transparent;background:white;padding:0;cursor:pointer}
.post-carousel-thumbs button[aria-current="true"]{border-color:#202f58}
.post-carousel-thumbs img{width:100%;height:100%;object-fit:cover;display:block}
.post-photo-caption{font-size:.88rem!important;color:#5d6781;text-align:center;margin-top:10px}
.post-carousel button:focus-visible,.post-single-photo:focus-visible,.post-image-dialog button:focus-visible{outline:3px solid #dc9ead;outline-offset:3px}
.post-image-dialog{position:fixed;inset:0;margin:auto;padding:46px 14px 16px;max-width:96vw;max-height:95vh;width:max-content;border:0;background:#191b20;color:white}
.post-image-dialog::backdrop{background:#090b10e8}
.post-image-dialog img{display:block;max-width:calc(96vw - 28px);max-height:calc(95vh - 70px);object-fit:contain}
.post-dialog-close{position:absolute;right:8px;top:7px;background:#202f58;color:white;border:1px solid white;cursor:pointer;padding:5px 14px;font:inherit}
@media(max-width:750px){
  .post-carousel-stage{max-height:68vh;aspect-ratio:4/3}
  .post-carousel-thumbs button{width:72px;height:54px;flex-basis:72px}
  .post-carousel-prev,.post-carousel-next{font-size:1.8rem;padding:5px 10px}
  .post-single-photo img{max-height:62vh}
}

/* Blog passages and subtitles transcribed from the original site. */
.post-inner .post-subheading{font-size:1.15rem;line-height:1.4;font-weight:700;margin:24px 0 10px}
.post-inner .post-quoted-paragraph{font-size:1.18rem;font-style:italic;line-height:1.45;
  margin:24px 0 30px;padding:2px 0 2px 15px;border-left:2px solid #64718f;color:#37343a}
@media(max-width:750px){.post-inner .post-quoted-paragraph{font-size:1.06rem;padding-left:12px}}

/* Preserve Wix's side-by-side quote-and-photo post layout on wide screens. */
.post-side-by-side{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start;margin:25px 0 34px}
.post-side-by-side .post-quoted-paragraph{margin:0;min-width:0}
.post-side-by-side .post-single-gallery{margin:0;min-width:0}
.post-side-by-side .post-single-photo{margin:0 auto;max-width:100%}
.post-side-by-side .post-single-photo img{max-height:410px;max-width:100%;object-fit:contain}
.post-side-by-side.is-compact .post-single-photo img{max-height:220px;max-width:min(100%,235px)}
@media(max-width:600px){.post-side-by-side{grid-template-columns:1fr;gap:17px}.post-side-by-side .post-single-gallery{margin:0 auto}}

/* Original Wix posts: compact portrait video, framed visual breaks,
   side-by-side field notes, and clickable paired photos. */
.post-video-portrait{display:flex;justify-content:center;margin:35px auto 28px}
.post-video-portrait video{width:auto;max-width:100%;max-height:480px;aspect-ratio:9/16;object-fit:contain;background:#101820}
.post-photo-rule{width:min(230px,42%);border:0;border-top:1px solid #8f8585;margin:26px auto}
.post-inner .post-italic-paragraph{font-style:italic;font-size:1.18rem;line-height:1.5;margin:24px 0 30px}
.post-side-by-side.is-image-first .post-single-gallery{order:-1}
.post-side-by-side.is-image-first{grid-template-columns:minmax(0,1fr) minmax(0,2.3fr)}
.post-side-by-side.is-image-first .post-single-photo img{max-width:170px;max-height:250px}
.post-photo-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin:24px 0}
.post-photo-pair .post-single-gallery{margin:0;max-width:none;width:100%}
.post-photo-pair .post-single-photo{display:block;width:100%;height:100%}
.post-photo-pair .post-single-photo img{width:100%;height:100%;max-height:none;aspect-ratio:1;object-fit:cover}
@media(max-width:600px){.post-side-by-side.is-image-first{grid-template-columns:1fr}.post-side-by-side.is-image-first .post-single-gallery{order:-1}.post-video-portrait video{max-height:65vh}}


/* Blog archive desktop cards: consistent 228 × 171 image frames and rows */
/* Long excerpts remain available on individual posts; listing text is
   visually truncated instead of increasing some cards' height. */
@media (min-width:751px){
  .blog-entry{
    grid-template-columns:228px minmax(0,1fr);
    height:171px;
    min-height:171px;
    overflow:hidden;
  }
  .blog-entry .blog-cover,
  .blog-entry .blog-cover-placeholder{
    box-sizing:border-box;
    width:228px;
    height:171px;
    min-height:171px;
    max-height:171px;
    align-self:start;
    overflow:hidden;
  }
  .blog-entry .blog-cover img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
  }
  .blog-entry-content{
    min-width:0;
    padding:16px 24px 12px;
    overflow:hidden;
  }
  .blog-entry-content h2{
    font-size:1.55rem;
    line-height:1.15;
    margin:0 0 8px;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
  }
  .blog-entry-content > p:not(.blog-archive-note){
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
    margin:0;
    line-height:1.35;
  }
  .blog-entry-content > .blog-archive-note{
    line-height:1.25!important;
    margin:8px 0 0;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
}


/* Taking Note cross-country photo mosaic (distinct from slideshow/carousel). */
.post-inner .post-centered-paragraph{
  text-align:center;
  font-style:italic;
  line-height:1.5;
  margin:26px 0 28px;
}
.post-mosaic{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:4px;
  margin:28px auto;
  max-width:100%;
}
.post-mosaic .post-photo-open{
  grid-column:span 2;
  display:block;
  width:100%;
  aspect-ratio:1.32;
  padding:0;
  border:0;
  background:#ede7e9;
  cursor:zoom-in;
  overflow:hidden;
}
.post-mosaic .post-photo-open:nth-child(n+4):nth-child(-n+6){grid-column:span 2}
.post-mosaic .post-photo-open img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.post-mosaic .post-photo-open:focus-visible{
  outline:3px solid #dc9ead;
  outline-offset:2px;
}
@media(max-width:600px){
  .post-mosaic{grid-template-columns:repeat(2,minmax(0,1fr));gap:3px}
  .post-mosaic .post-photo-open,
  .post-mosaic .post-photo-open:nth-child(n+4):nth-child(-n+6){grid-column:span 1;aspect-ratio:1.1}
}


/* Additional original Taking Note arrangements: four-photo strip,
   stacked awards, and side-by-side holiday slideshow. */
.post-gallery-small .post-single-gallery{max-width:300px;margin:20px auto}
.post-gallery-small .post-single-photo img{max-height:230px}
.post-image-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;margin:26px auto 8px}
.post-image-strip .post-photo-open{display:block;width:100%;height:135px;min-width:0;padding:0;border:0;background:#eee;cursor:zoom-in}
.post-image-strip img{width:100%;height:100%;object-fit:cover;display:block}
.post-side-stack,.post-side-gallery{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:start;margin:28px 0 36px}
.post-side-stack-images{display:flex;flex-direction:column;gap:4px}
.post-side-stack-images .post-single-gallery{margin:0}
.post-side-stack-images .post-single-photo{width:100%}
.post-side-stack-images .post-single-photo img{width:100%;height:auto;max-height:285px;object-fit:contain}
.post-side-stack .post-quoted-paragraph{margin:48px 0 0}
.post-side-gallery .post-quoted-paragraph{margin:0}
.post-side-gallery .post-carousel{margin:0;width:100%;min-width:0}
.post-side-gallery .post-carousel-stage{aspect-ratio:3/4;max-height:400px}
.post-side-gallery .post-carousel-thumbs button{width:55px;height:48px;flex-basis:55px}
.post-side-gallery .post-carousel-lower{padding:3px}
.post-side-gallery .post-carousel-thumbs{gap:4px}
.post-image-strip .post-photo-open:focus-visible{outline:3px solid #dc9ead;outline-offset:2px}
@media(max-width:600px){
 .post-image-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
 .post-image-strip .post-photo-open{height:130px}
 .post-side-stack,.post-side-gallery{grid-template-columns:minmax(0,1fr)}
 .post-side-stack .post-quoted-paragraph{margin:8px 0}
 .post-side-gallery .post-carousel{max-width:430px;margin:auto}
}

/* Wix Taking Note used Georgia; keep the rest of the site typography unchanged. */
.blog-banner,.blog-list,.blog-entry,.post-outer,.post-inner{font-family:Georgia, "Times New Roman", serif;}

/* Taking Note design system, October 2026: shared typographic hierarchy. */
@media(min-width:751px){.blog-list{max-width:994px}}
.post-inner h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,3.1vw,2.6rem);line-height:1.16;letter-spacing:-.012em}
.post-inner p:not(.post-meta):not(.photo-caption):not(.post-photo-caption):not(.blog-archive-note){font-size:1.06rem;line-height:1.62}
.post-inner .post-quoted-paragraph{font-family:Georgia,"Times New Roman",serif;font-size:1.31rem;line-height:1.37;text-align:left;font-weight:400}
.post-inner .post-italic-paragraph{font-size:1.18rem;line-height:1.52}
.post-inner .post-centered-paragraph{font-size:1.06rem}
.post-inline-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:center;margin:28px auto 34px;width:100%}
.post-inline-row.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.post-inline-row .post-photo-open{display:flex;align-items:center;justify-content:center;min-width:0;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in}
.post-inline-row img{display:block;max-width:100%;width:auto;height:auto;max-height:380px;object-fit:contain}
.post-inline-row .post-photo-caption{grid-column:1/-1;margin:0}
.post-inline-row .post-photo-open:focus-visible{outline:3px solid #dc9ead;outline-offset:3px}
@media(max-width:600px){.post-inline-row,.post-inline-row.cols-3{grid-template-columns:1fr;gap:12px}.post-inline-row img{max-height:55vh}.post-inner .post-quoted-paragraph{font-size:1.13rem}}

/* Editorial image treatments approved in October 2026 blog review. */
.post-inner h1{font-size:clamp(1.95rem,2.8vw,2.35rem);letter-spacing:-.014em}
.post-gallery-wide .post-single-gallery{max-width:none;width:100%}
.post-gallery-wide .post-single-photo{display:block;width:100%}
.post-gallery-wide .post-single-photo img{display:block;width:100%;height:auto;max-height:none;object-fit:contain}
.post-side-by-side.is-balanced.is-image-first{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.post-side-by-side.is-balanced.is-image-first .post-single-photo img{max-width:100%;max-height:310px}
.post-side-by-side.is-balanced.is-image-first .post-quoted-paragraph{font-size:1.06rem;line-height:1.5}
.post-inline-row.is-equal-height{display:flex;align-items:stretch;gap:4px;width:100%;margin:26px auto 32px}
.post-inline-row.is-equal-height .post-photo-open{flex:var(--photo-ratio,1) 1 0;min-width:0;overflow:hidden;align-items:center}
.post-inline-row.is-equal-height img{height:var(--photo-height,300px);width:100%;max-height:none;max-width:100%;object-fit:contain}
@media(max-width:600px){
 .post-inline-row.is-equal-height{flex-direction:column;align-items:center;gap:8px}
 .post-inline-row.is-equal-height .post-photo-open{flex:none}
 .post-inline-row.is-equal-height img{height:auto;max-height:55vh;width:auto;max-width:100%}
 .post-side-by-side.is-balanced.is-image-first{grid-template-columns:1fr}
}

/* Taking Note editorial tuning: preserve Georgia while increasing airy readability. */
.post-inner .post-quoted-paragraph{line-height:1.49;letter-spacing:.006em;color:#454045}
.post-inner .post-italic-paragraph{line-height:1.62;letter-spacing:.005em;color:#454045}
.post-video-text-row{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:28px;align-items:center;margin:30px auto}
.post-video-text-row .post-video{margin:0}
.post-video-text-row .post-video video{width:100%;max-width:260px;max-height:430px;margin:auto;object-fit:contain}
.post-video-text-row .post-quoted-paragraph{margin:0}
.post-gallery-sequence .post-single-gallery{margin:15px auto;max-width:none;width:100%}
.post-gallery-sequence .post-single-photo{width:100%}
.post-gallery-sequence .post-single-photo img{width:100%;height:auto;max-height:none;object-fit:contain}
.post-gallery-sequence + .post-gallery-sequence{margin-top:18px}
@media(max-width:600px){.post-video-text-row{grid-template-columns:1fr;gap:18px}.post-video-text-row .post-video video{max-height:55vh}.post-video-text-row .post-quoted-paragraph{font-size:1.13rem}}

/* Blog editorial width: Wix reference is approximately 940px at desktop.
   Keep the site-wide project width and compact blog-list cards unchanged. */
@media(min-width:751px){
 .blog-list:has(.post-outer){max-width:1000px;padding-left:22px;padding-right:22px}
 .blog-list:has(.post-outer) .post-outer{width:100%;max-width:940px;margin-left:auto;margin-right:auto}
 .blog-list:has(.post-outer) .post-inner{max-width:850px;padding-left:28px;padding-right:28px}
}
.blog-tag-filters{display:flex;flex-wrap:wrap;gap:9px;margin:8px 0 25px}
.blog-tag-filters button{font:inherit;font-size:.9rem;border:1px solid #c3b7c0;padding:7px 12px;background:transparent;color:var(--navy);border-radius:999px;cursor:pointer}
.blog-tag-filters button[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:#fff}
.blog-tag-filters button:hover:not([aria-pressed="true"]){background:#f4e7ec}
.blog-entry-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.blog-entry-tags span{color:#696071;font-size:.76rem;line-height:1.3}
.blog-entry-tags span+span::before{content:"·";margin-right:6px}
.post-related{max-width:940px;margin:0 auto 54px;padding:25px 28px 28px;background:var(--navy);color:var(--blush)}
.post-related h2{font:700 1.3rem/1.3 Georgia,serif;margin:0 0 18px}
.post-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.related-card{display:block;color:var(--navy);background:var(--blush);text-decoration:none;min-width:0}
.related-card img,.related-placeholder{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.related-placeholder{display:grid;place-items:center;background:#e4d9df;color:var(--navy);font-weight:700}
.related-card-title{display:block;padding:11px 12px 13px;font:700 1rem/1.35 Georgia,serif}
.related-card:hover .related-card-title{text-decoration:underline}
@media(max-width:600px){
 .post-related{padding:20px 13px 25px}
 .post-related-grid{gap:8px}
 .related-card-title{font-size:.83rem;padding:8px 7px}
 .blog-tag-filters{gap:7px}
 .blog-tag-filters button{font-size:.83rem;padding:7px 9px}
}
@media(max-width:380px){.post-related-grid{grid-template-columns:1fr}.related-card{display:grid;grid-template-columns:100px 1fr;align-items:center}.related-card img,.related-placeholder{height:80px;aspect-ratio:auto}}

/* October blog visual review: voice paragraphs are Georgia italic and generous,
   while factual/image captions remain small. */
.post-inner .post-quoted-paragraph{font-size:1.31rem;line-height:1.51;letter-spacing:.006em}
.post-inner .post-italic-paragraph{font-size:1.30rem;line-height:1.55;letter-spacing:.006em}
.post-inner .post-quoted-paragraph,.post-inner .post-italic-paragraph{color:#454045}
.post-inner .post-split-intro{font:bold 1.25rem/1.35 Georgia,serif;margin:0 0 36px}
.post-split-copy{min-width:0}
.post-split-copy .post-quoted-paragraph{margin:0}
.post-inner .post-gallery-wrap.post-gallery-small .post-single-gallery{max-width:560px}
.post-inner .post-gallery-wrap.post-gallery-small .post-single-photo img{max-height:420px}
/* Remove the letterboxing caused by a fixed 4:3 dark slideshow stage. */
.post-carousel-stage{background:var(--blush);aspect-ratio:auto;max-height:none;height:min(65vw,560px)}
.post-carousel-main{background:var(--blush)}
.post-carousel-main img{width:auto;height:100%;max-width:100%;object-fit:contain}
.post-carousel-prev,.post-carousel-next{background:#202f58c9}
/* Gel Wars: fixed four-image grid with textual explanation, then a right-hand winning gel. */
.post-gel-grid-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:27px;align-items:start;margin:30px 0 38px}
.post-gel-grid{margin:0;min-width:0}
.post-gel-grid-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
.post-gel-grid-photos .post-photo-open{border:0;padding:0;cursor:zoom-in;background:transparent;display:block;aspect-ratio:1;overflow:hidden}
.post-gel-grid-photos img{display:block;width:100%;height:100%;object-fit:contain}
.post-gel-grid .photo-caption{font-size:.69rem!important;line-height:1.35!important;margin-top:7px}
.post-gel-explanation{margin:0!important;align-self:center}
.post-gel-winner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:27px;margin:38px auto}
.post-gel-winner-copy p{margin:0 0 22px;line-height:1.5!important}
.post-gel-winner-copy p:first-child,.post-gel-winner-copy p:nth-child(2){font-style:italic}
.post-gel-winner-copy p:first-child{margin-bottom:0}
.post-gel-note{padding-left:24px}
.post-gel-winner-photo{margin:0;min-width:0}
.post-gel-winner-photo .post-single-gallery{margin:0}
.post-gel-winner-photo .post-single-photo img{max-height:460px}
.post-gel-winner-photo .photo-caption{margin:9px 0 0;font-size:.7rem!important}
@media(max-width:600px){
 .post-inner .post-quoted-paragraph,.post-inner .post-italic-paragraph{font-size:1.17rem;line-height:1.5}
 .post-gel-grid-row,.post-gel-winner{grid-template-columns:1fr;gap:18px}
 .post-gel-winner-photo{max-width:340px;margin:auto}
 .post-carousel-stage{height:min(75vh,440px)}
}

/* Featured current PhD candidacy; former degrees retain their original cards. */
.education-current{display:grid;grid-template-columns:minmax(0,240px) minmax(0,1fr);gap:34px;align-items:center;background:#fff;padding:28px 36px;margin:26px 0 12px;border-left:5px solid var(--navy)}
.education-current-brand img{display:block;width:100%;max-width:240px;height:auto}
.education-current-label{margin:0 0 6px;color:#6e5968;font-size:.83rem;letter-spacing:.07em;text-transform:uppercase;font-weight:700}
.education-current h3{margin:0 0 7px;color:var(--navy);font-size:clamp(1.45rem,2.4vw,2rem);line-height:1.2}
.education-current-school{font-size:1.08rem;margin:0;color:#353d54}
@media(max-width:750px){.education-current{grid-template-columns:1fr;gap:18px;padding:24px 22px;margin-bottom:12px}.education-current-brand img{max-width:220px;margin:auto}.education-current-info{text-align:center}}


/* CeceClick themes: preserve navy/pink identity and all original image colors.
   Default colors above remain light; OS dark applies only without an override. */
:root{
  color-scheme:light;
  --navy-text:#202f58;
  --on-navy:#fcf2f5;
  --surface:#fff;
  --project-surface:#fff;
  --surface-soft:#f6ebef;
  --secondary-ink:#332c2c;
  --soft-ink:#625b69;
  --quote-ink:#454045;
  --caption-ink:#5d6781;
  --line:#ddd;
  --input-bg:#fff;
  --input-text:#151a30;
  --input-border:#a8a6b6;
  --chip-hover:#f4e7ec;
  --muted-button:#213159;
  --logo-backplate:transparent;
  --logo-padding:0px;
  --nav-icon:#65738e;

  --headline-post:var(--ink);
  --heading-on-navy:#fce5ed;
  --project-hero-heading:#d4a0ae;
  --related-heading:var(--blush);
  --heading-border:var(--navy);
  --article-frame:var(--navy);
  --toggle-color:var(--ink);
  --contact-button-bg:#fff;
  --contact-button-text:var(--navy);
}
@media(prefers-color-scheme:dark){
  html:not([data-theme]){
    color-scheme:dark;
    --page:#201d26;
    --blush:#342a35;
    --navy:#292e47;
    --ink:#f5ebef;
    --muted:#dac4cf;
    --rose:#f3c3d6;
    --navy-text:#efb8ce;
    --on-navy:#f8dce7;
    --surface:#302a36;
    --project-surface:#292630;
    --surface-soft:#40313e;
    --secondary-ink:#f1e4eb;
    --soft-ink:#dac4cf;
    --quote-ink:#f0dfe8;
    --caption-ink:#d4b8c6;
    --line:#675160;
    --input-bg:#fff8fa;
    --input-text:#251e2a;
    --input-border:#ae9ba6;
    --chip-hover:#503c4d;
    --muted-button:#8e536d;
    --logo-backplate:#fff;
    --logo-padding:5px;
    --nav-icon:#efb8ce;
    --headline-post:#efb8ce;
    --heading-on-navy:#efb8ce;
    --project-hero-heading:#efb8ce;
    --related-heading:#efb8ce;
    --heading-border:#7f5e76;
    --article-frame:#55445d;
    --toggle-color:#efb8ce;
    --contact-button-bg:#f0c4d4;
    --contact-button-text:#202335;
  }
}
html[data-theme="dark"]{
    color-scheme:dark;
    --page:#201d26;
    --blush:#342a35;
    --navy:#292e47;
    --ink:#f5ebef;
    --muted:#dac4cf;
    --rose:#f3c3d6;
    --navy-text:#efb8ce;
    --on-navy:#f8dce7;
    --surface:#302a36;
    --project-surface:#292630;
    --surface-soft:#40313e;
    --secondary-ink:#f1e4eb;
    --soft-ink:#dac4cf;
    --quote-ink:#f0dfe8;
    --caption-ink:#d4b8c6;
    --line:#675160;
    --input-bg:#fff8fa;
    --input-text:#251e2a;
    --input-border:#ae9ba6;
    --chip-hover:#503c4d;
    --muted-button:#8e536d;
    --logo-backplate:#fff;
    --logo-padding:5px;
    --nav-icon:#efb8ce;
    --headline-post:#efb8ce;
    --heading-on-navy:#efb8ce;
    --project-hero-heading:#efb8ce;
    --related-heading:#efb8ce;
    --heading-border:#7f5e76;
    --article-frame:#55445d;
    --toggle-color:#efb8ce;
    --contact-button-bg:#f0c4d4;
    --contact-button-text:#202335;
  }
html[data-theme="light"]{color-scheme:light}

/* Re-tint surfaces and text, never photographic or scientific media. */
.skip{color:var(--input-text)}
.section-heading h2,.project h3,.degree h3,.degree-logo,
.education-current h3,.project-detail h1,.project-gallery h2,
.project-back,.project-date,.related-card,.related-placeholder,
.blog-tag-filters button,.site-footer,.project-image{color:var(--navy-text)}
.project-image{background:var(--surface-soft)}
.project+.project{border-top-color:var(--line)}
.degree,.education-current,.slide-gallery figure{background:var(--surface)}
.wix-project{background:var(--project-surface);color:var(--ink)}
.wix-project .project-body h2,.project-references{color:var(--secondary-ink)}
.project-references h2{border-bottom-color:var(--line)}
.detail .source,.wix-project .source{border-top-color:var(--line)}
.project-detail .eyebrow,.project-detail .source,.wix-project .source,
.project-download,.project-attribution{color:var(--caption-ink)}
.education-current-label,.education-current-school{color:var(--soft-ink)}
.degree-logo img,.education-current-brand img{background:var(--logo-backplate);padding:var(--logo-padding)}
.blog-entry{border-color:var(--line)}
.blog-entry p,.blog-entry-tags span{color:var(--soft-ink)}
.blog-cover,.blog-cover-placeholder,.blog-photo,.related-placeholder{background:var(--surface-soft)}
.blog-cover-placeholder,.blog-photo{color:var(--soft-ink)}
.blog-search-label{color:var(--navy-text)}
.blog-search-label input{background:var(--input-bg);color:var(--input-text);border-color:var(--input-border)}
.blog-archive-note,.blog-load-area p,.post-carousel-lower{color:var(--caption-ink)!important}
.blog-load-area button{background:var(--muted-button)}
.post-meta,.post-photo-caption,.post-gallery figcaption,.photo-caption,
.post-video figcaption,.slide-gallery figcaption{color:var(--caption-ink)!important}
.post-inner .post-quoted-paragraph,.post-inner .post-italic-paragraph{color:var(--quote-ink)}
.post-inner .post-quoted-paragraph{border-left-color:var(--caption-ink)}
.post-carousel-thumbs button{background:var(--surface)}
.post-carousel-thumbs button[aria-current="true"]{border-color:var(--navy-text)}
.post-mosaic .post-photo-open,.post-image-strip .post-photo-open{background:var(--surface-soft)}
.blog-tag-filters button{border-color:var(--line)}
.blog-tag-filters button[aria-pressed="true"]{color:#fff}
.blog-tag-filters button:hover:not([aria-pressed="true"]){background:var(--chip-hover)}
.post-related{color:var(--on-navy)}
.related-card{background:var(--blush)}
.pgrs-slide-controls{color:var(--navy-text)}
.pgrs-dots button{border-color:var(--navy-text)}
.pgrs-dots button[aria-current="true"]{background:var(--navy-text)}
.nav-close{color:var(--ink)}
.menu-bars i{background:var(--nav-icon)}
/* Text fields remain light and legible on the navy contact background. */
.contact-form input,.contact-form textarea{background:var(--input-bg);color:var(--input-text)}
/* Lightweight, keyboard-accessible switch immediately preceding navigation. */
.theme-toggle[hidden]{display:none}
.theme-toggle{
  flex:0 0 32px;display:flex;align-items:center;justify-content:center;
  width:32px;height:32px;margin:0 30px 0 0;padding:5px;
  background:transparent;color:var(--ink);border:1px solid transparent;
  border-radius:50%;cursor:pointer;
  transition:background-color .15s,border-color .15s;
}
.theme-toggle:hover{background:var(--surface-soft);border-color:var(--line)}
.theme-toggle:focus-visible{outline:3px solid #468cdc;outline-offset:3px}
.theme-icon{width:19px;height:19px;display:block}
.theme-toggle[data-next-theme="light"] .theme-icon-moon{display:none}
.theme-toggle[data-next-theme="dark"] .theme-icon-sun{display:none}
@media(max-width:750px){
  .site-header .nav{gap:4px}
  .theme-toggle{margin:0 8px 0 auto;flex-basis:34px;width:34px;height:34px}
}

/* Gentle rose is the dark-mode editorial accent, not a blanket color filter.
   Light values above deliberately match the original cream/pink/navy site. */
.section-heading{border-bottom-color:var(--heading-border)}
.post-outer{border-color:var(--article-frame)}
.post-inner h1,.post-inner .post-subheading,.post-inner .post-split-intro,
.blog-entry h2{color:var(--headline-post)}
.hero h1,.contact h3{color:var(--heading-on-navy)}
.wix-project-hero h1,
.pgrs-project .pgrs-subtitle,.pgrs-project .pgrs-byline,
.project-back>span{color:var(--project-hero-heading)}
.post-related h2{color:var(--related-heading)}
.contact-form button{background:var(--contact-button-bg);color:var(--contact-button-text)}
.theme-toggle{color:var(--toggle-color)}
/* Retain pink/blue scientific slide and photographic content without alteration. */

/* Keep the Education section title dusty rose; only its degree and UTMB
   subheadings use soft ivory-pink in dark mode. */
.education .degree h3,
.education .degree-logo,
.education-current h3{color:var(--education-heading,var(--navy-text))}
@media(prefers-color-scheme:dark){
  html:not([data-theme]){--education-heading:var(--ink)}
}
html[data-theme="dark"]{--education-heading:var(--ink)}
