/* ChatGPT refinement, 26 October 2026. Retains Claude's composition and photographs. */
:root{--mist:#fcfaf5;--linen:#f3ecdf;--fog:#eaf0e5;--sage:#a6b495;--sage-deep:#68795c;--moss:#3e5038;--ink:#30392c;--muted:#5c6655;--clay:#986345;--line:rgba(77,93,61,.17)}
/* An ivory welcome above the photographs brings daylight into the first impression. */
.site-header.header-light{background:rgba(252,250,245,.97);border-bottom:1px solid rgba(77,93,61,.09)}
.header-light .brand,.header-light .nav a{color:var(--moss)}
.header-light .brand .role{color:var(--sage-deep)}
.header-light .nav .lang,.header-light .menu-toggle{color:var(--moss);border-color:var(--line)}
.header-light .nav a:hover{color:var(--clay);border-color:var(--clay)}
/* Lift the photograph without replacing the mist, tree silhouettes or dawn colour. */
.hero-full .bg img{filter:brightness(1.13) saturate(.91)}
.hero-full::after{background:linear-gradient(90deg,rgba(30,39,25,.43),rgba(30,39,25,.22) 52%,rgba(30,39,25,.03) 88%),linear-gradient(0deg,rgba(30,39,25,.27),transparent 66%)}
.hero-full h1{color:#fffdf7;text-shadow:0 1px 18px rgba(20,35,18,.22)}
.hero-full h1 em{color:#ffe7cc}
.hero-full .lede{color:#fffdf7}
.hero-full .eyebrow{color:#fff4df}
.hero-full .content{padding-top:160px}
.on-image .btn-solid{background:#fff8e9;border-color:#fff8e9;color:#394c32}
.on-image .btn-line{background:rgba(37,51,27,.19);border-color:rgba(255,248,232,.85);color:#fffdf7}
.place .bg img{filter:brightness(1.07) saturate(.94)}
.place::after{background:linear-gradient(90deg,rgba(28,43,28,.53),rgba(28,43,28,.24) 50%,transparent 90%)}
/* Pale sage closes the site with the same warmth as the body sections. */
.site-footer{background:#e8eddf;color:#4e5e44;border-top:1px solid #d6decb}
.site-footer .fname,.site-footer a{color:#34452d}
.site-footer h4,.site-footer .bottom{color:#58674d}
.site-footer .top{border-bottom-color:#c8d2bc}
.site-footer a:hover{color:#8d5638}
.bg-moss{background:#e8eddf;color:var(--ink)}
.bg-moss h2,.bg-moss h3{color:var(--moss)}
.bg-moss .eyebrow,.bg-moss .trio .item p{color:var(--muted)}
.bg-moss .trio .item{border-color:var(--line)}
@media(max-width:700px){
  .hero-home .content{padding-top:145px}
  .hero-home::after{background:linear-gradient(180deg,rgba(34,43,27,.41),rgba(34,43,27,.35) 45%,rgba(34,43,27,.03) 76%,rgba(34,43,27,.08))}
  .place::after{background:linear-gradient(180deg,rgba(28,43,28,.06),rgba(28,43,28,.57))}
}
@media(max-width:360px){
  .site-header .bar{gap:10px}
  .brand .name{font-size:1.45rem}
  .brand .role{font-size:.50rem;letter-spacing:.07em}
  .site-header .bar>.menu-toggle{font-size:.70rem;letter-spacing:.08em;padding:8px 11px}
}
.credential-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;padding:36px 0 16px;margin:52px 0 20px;border-top:1px solid var(--line)}
.credential-cell{min-width:0;display:flex;align-items:flex-start;flex-direction:column}
.credential-cell>a,.ifio-wordmark{height:58px;display:flex;align-items:center;margin-bottom:21px}
.credential-cell img{width:auto;height:auto;max-width:190px;max-height:50px;object-fit:contain}
.credential-cell:first-child img{max-width:160px}
.credential-cell h3{font-size:1.35rem;margin-bottom:10px;line-height:1.2}
.credential-cell p{font-size:.86rem;color:var(--muted);margin:0;line-height:1.6}
.ifio-wordmark{font:500 2.3rem var(--serif);letter-spacing:.1em;color:var(--moss)}
.narrow .credential-strip{gap:22px}
.narrow .credential-cell img{max-width:170px}
.narrow .credential-cell h3{font-size:1.15rem}
.path-list{margin-top:35px}
@media(min-width:961px){.brand .role{font-size:.59rem;letter-spacing:.12em}.nav{gap:clamp(12px,1.65vw,26px)}}
@media(max-width:760px){.credential-strip{grid-template-columns:1fr;gap:0;margin-top:42px}.credential-cell{padding:25px 0}.credential-cell+.credential-cell{border-top:1px solid var(--line)}.credential-cell>a,.ifio-wordmark{margin-bottom:17px;height:50px}.credential-cell img{max-height:45px}}
/* Personal homepage review: same visual identity, less repetition and a clearer next step. */
.degree-university{display:flex;align-items:center;height:58px;margin-bottom:21px;font:500 1.8rem var(--serif);color:var(--moss)}
.credential-cell .membership-secondary{height:auto;margin:18px 0 0;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;text-decoration:none}
.credential-cell .membership-secondary img{max-width:105px;max-height:28px}
.membership-secondary span{font-size:.68rem;color:var(--muted)}
.hero-qualification{font-size:.91rem;line-height:1.5;max-width:44em;color:#fff4df;padding-left:16px;border-left:2px solid #d7b88e;margin:1.25rem 0}
.hero-practical{font-size:.84rem;color:#fff4df;margin:16px 0 0;letter-spacing:.02em}
.home-personal.hero-full{min-height:800px}
.home-personal.hero-full h1{font-size:clamp(2.6rem,5vw,4.6rem);max-width:15em}
.home-personal.hero-full .content{padding-top:165px;padding-bottom:66px}
.home-personal.hero-full .lede{max-width:38em;font-size:1.12rem;line-height:1.7}
.homepage .section{padding-block:clamp(54px,6vw,86px)}
.compact-meet{grid-template-columns:.65fr 1.35fr;gap:clamp(35px,5vw,75px)}
.compact-meet .portrait{max-width:290px;margin-inline:auto}
.compact-meet .portrait img{aspect-ratio:3/4}
.compact-meet h2{font-size:clamp(2rem,3.3vw,2.9rem)}
.compact-meet p{font-size:1rem;line-height:1.8}
.personal-welcome .credential-strip{margin-top:42px;padding-top:28px}
.homepage .paths{gap:64px}
.home-work .path{gap:clamp(32px,5vw,74px)}
.home-work .path-media img{aspect-ratio:4/3;max-height:350px}
.home-work .path:nth-child(2) .path-media img{aspect-ratio:4/3;border-radius:150px 150px 10px 10px}
.home-work .path-body ul{margin-bottom:20px}
.offering-status{font-size:.85rem;color:var(--sage-deep);font-weight:600}
.home-nature{min-height:440px}
.home-nature .band-text{padding:clamp(40px,5vw,75px)}
.home-nature .band-text .text-link{align-self:flex-start}
.home-nature .band-media img{object-position:center}
.homepage .closing h2{max-width:19em}
@media(max-width:860px){.compact-meet{grid-template-columns:220px 1fr;gap:35px}.home-personal.hero-full{min-height:820px}}
@media(max-width:700px){.home-personal.hero-full{min-height:800px}.home-personal.hero-full .content{padding-top:130px;padding-bottom:45px}.hero-qualification{font-size:.78rem;max-width:32em;line-height:1.6;margin:18px 0}.home-personal.hero-full .lede{font-size:1rem;line-height:1.7}.hero-practical{font-size:.75rem;line-height:1.7}.home-personal .actions{margin-top:24px;gap:12px}.home-personal .btn{font-size:.82rem;padding:.9em 1.3em}.compact-meet{grid-template-columns:110px 1fr;gap:25px;align-items:start}.compact-meet .portrait{width:100%;margin-top:7px}.compact-meet .portrait::before{inset:8px -8px -8px 8px}.compact-meet h2{font-size:1.9rem}.compact-meet p{font-size:.96rem}.compact-meet .eyebrow{font-size:.62rem;letter-spacing:.1em}.compact-meet>div:last-child{min-width:0}.homepage .paths{gap:45px}.home-work .path:nth-child(2) .path-media img{aspect-ratio:4/3;max-width:none}.homepage .section{padding-block:50px}.home-nature .band-media{aspect-ratio:16/10}.home-nature .band-text{padding:40px 25px}.personal-welcome .credential-strip{margin-top:35px}.degree-university{height:50px;margin-bottom:17px;font-size:1.6rem}}
@media(max-width:480px){.compact-meet{display:block}.compact-meet .portrait-wrap{float:left;width:100px;margin:0 24px 16px 0}.compact-meet:after{content:'';display:table;clear:both}.compact-meet h2{font-size:1.95rem}.compact-meet .eyebrow{display:block;margin-bottom:15px}.compact-meet p{clear:both}.home-personal.hero-full{min-height:870px}.home-personal.hero-full h1{font-size:2.6rem}}
/* Restore the original breathing room; shortening comes from editing, not compression. */
.course-launch{display:grid;grid-template-columns:1.3fr .7fr;gap:clamp(40px,6vw,85px);align-items:start}
.course-main h2{font-size:clamp(2rem,3.4vw,3rem)}
.course-main>p{font-size:1rem;line-height:1.85}
.course-side img{width:100%;height:auto;border-radius:3px;margin-bottom:20px}
.course-side>.text-link{font-size:.85rem}
.course-facts{margin:30px 0 20px}
.course-facts>div{display:grid;grid-template-columns:95px 1fr;gap:15px;padding:15px 0;border-top:1px solid var(--line)}
.course-facts dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
.course-facts dd{margin:0;font-size:.95rem}
.course-dates{font-size:.9rem;margin:20px 0}.course-dates summary{cursor:pointer;color:var(--moss)}
.course-dates p{margin-top:15px}
.course-email{margin:22px 0 14px;font-size:.9rem!important;overflow-wrap:anywhere}
.course-employers{margin-top:45px;padding-top:30px;border-top:1px solid var(--line)}
.course-employers h3{font-size:1.6rem}.course-employers p{font-size:.9rem;line-height:1.8}
@media(max-width:860px){.course-launch{grid-template-columns:1fr}.course-side{max-width:500px}.course-side img{max-width:370px}}
@media(max-width:480px){.course-facts>div{grid-template-columns:1fr;gap:5px}}
.site-header{position:fixed;background:rgba(252,250,245,.97);border-bottom:1px solid rgba(77,93,61,.10);box-shadow:0 3px 16px rgba(45,58,35,.035)}
html{scroll-padding-top:105px}
.contact-card{max-width:290px;aspect-ratio:3/4}
.contact-card img{object-position:50% 20%}
@media(max-width:700px){html{scroll-padding-top:85px}.contact-card{max-width:240px;aspect-ratio:3/4}}
.homepage .section{padding-block:clamp(72px,10vw,140px)}
.home-personal.hero-full{min-height:min(100svh,980px)}
.home-personal.hero-full .content{padding-top:165px;padding-bottom:clamp(65px,9vh,110px)}
.home-personal.hero-full h1{font-size:clamp(2.6rem,5.4vw,4.9rem)}
.compact-meet{grid-template-columns:.75fr 1.25fr;gap:clamp(40px,7vw,110px)}
.compact-meet .portrait{max-width:340px}
.compact-meet h2{font-size:clamp(2rem,3.6vw,3.1rem)}
.compact-meet p{font-size:1.05rem;line-height:1.85}
.personal-welcome .credential-strip{margin-top:clamp(48px,6vw,80px);padding-top:36px}
.homepage .paths{gap:clamp(64px,9vw,120px)}
.home-work .path{gap:clamp(32px,6vw,90px)}
.home-work .path-media img{aspect-ratio:4/5;max-height:none}
.home-work .path:nth-child(2) .path-media img{aspect-ratio:4/5;border-radius:var(--radius-arch)}
.home-work .path-body ul{margin-bottom:1.6rem}
.home-nature{min-height:560px}
.home-nature .band-text{padding:clamp(48px,7vw,110px)}
@media(max-width:860px){.compact-meet{grid-template-columns:.7fr 1.3fr;gap:40px}.compact-meet p{font-size:1rem}}
@media(max-width:820px){.home-work .path-media img{aspect-ratio:4/3}.home-work .path:nth-child(2) .path-media img{aspect-ratio:4/5;max-width:420px}.home-nature .band-media{aspect-ratio:4/3}}
@media(max-width:700px){
 .homepage .section{padding-block:72px}
 .home-personal.hero-full{min-height:870px}
 .home-personal.hero-full .content{padding-top:145px;padding-bottom:65px}
 .compact-meet{display:grid;grid-template-columns:1fr;gap:42px}
 .compact-meet .portrait-wrap{float:none;width:100%;margin:0}
 .compact-meet .portrait{width:70%;max-width:250px;margin:0 auto}
 .compact-meet .portrait::before{inset:14px -14px -14px 14px}
 .compact-meet h2{font-size:clamp(2rem,6vw,2.6rem)}
 .compact-meet p{font-size:1rem;line-height:1.85}
 .compact-meet .eyebrow{font-size:.7rem;letter-spacing:.16em}
 .personal-welcome .credential-strip{margin-top:55px}
 .home-nature .band-text{padding:55px var(--gutter)}
}
