/* Full-bleed botanical refinement. Workshop art, controls and geometry are protected. */
:root{--editorial-gutter:clamp(24px,6vw,128px);--editorial-inner:max(var(--editorial-gutter),calc((100vw - 1440px)/2))}
html{scroll-padding-top:88px}body{overflow-x:clip}header,main,footer{max-width:none;width:100%;margin:0}header{padding-inline:var(--editorial-inner);border:0;background:#fff0eb}main{overflow:clip}footer{padding-inline:var(--editorial-inner);border:0}
.hero{min-height:clamp(700px,calc(100svh - 72px),1080px);padding:clamp(64px,10svh,120px) var(--editorial-inner) 76px;background:radial-gradient(ellipse at 82% 45%,#f4cbc3 0%,#f9e0da 36%,transparent 68%),#fcebe7;overflow:hidden;display:flex;align-items:center;isolation:isolate}
.hero:before{display:none}.hero:after{content:'';position:absolute;inset:auto 0 0;height:110px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 110' preserveAspectRatio='none'%3E%3Cpath d='M-10 38C270 110 690-12 1450 52M-10 45C270 117 690-5 1450 60' fill='none' stroke='%23fff8f0' stroke-width='1.5' opacity='.8'/%3E%3C/svg%3E") center/100% 100% no-repeat;pointer-events:none;z-index:0}
.hero-copy{width:54%;max-width:730px;padding:0 0 44px;z-index:2;pointer-events:auto}.hero h1{font-size:clamp(48px,4.5vw,86px);line-height:1.14;letter-spacing:-.035em;color:#59433f}.hero h1 em{color:#a46568}.hero-copy p{max-width:440px;font-size:16px;line-height:1.9;margin:30px 0;color:#70544c}.hero .button{padding:15px 26px;min-height:52px;font-size:14px;box-shadow:0 10px 24px #985b6521}.hero .button:hover{transform:translateY(-3px)}.hero-note{font-size:12px;letter-spacing:.01em;margin-top:19px;line-height:1.6}
.hero-art{display:block;position:absolute;right:max(-24px,calc((100vw - 2080px)/2));top:0;bottom:46px;width:min(57vw,1100px);height:auto;margin:0;opacity:1;z-index:1;mask-image:none;pointer-events:none;animation:botanical-arrival 1.35s cubic-bezier(.16,1,.3,1) both}.hero-art img{width:100%;height:100%;object-fit:contain;object-position:center;mix-blend-mode:normal;mask-image:none;filter:none;image-rendering:auto}.art-caption{display:none}.hero-bottom{position:absolute;left:var(--editorial-inner);right:var(--editorial-inner);bottom:0;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:19px 0;font-size:11px;line-height:1.5;border:0;background:none;z-index:2;letter-spacing:.04em}
.pioneers{padding:clamp(80px,7vw,126px) var(--editorial-inner) 82px;background:radial-gradient(ellipse at 50% 18%,#fff6f0 0%,transparent 70%),#fbe6e1}.pioneers:before{opacity:.65}.pioneers .section-heading{margin-bottom:46px;align-items:center}.pioneers h2{font-size:clamp(38px,3.4vw,58px);line-height:1.2;letter-spacing:-.035em}.pioneers .section-heading>p{font-size:14px;line-height:1.9;color:#765a50}.portrait-grid{max-width:1280px;margin-inline:auto;gap:clamp(22px,2.6vw,42px)}.portrait-card{border:0;border-radius:160px 160px 18px 18px;padding:clamp(18px,1.8vw,27px) clamp(18px,1.8vw,27px) 12px;background:#fff7f1;box-shadow:0 16px 48px #8a53500d}.portrait-card:before{display:none}.portrait-card:nth-child(2){background:#fdf7ed}.portrait-card:nth-child(3){background:#f2f5ec}.portrait-card:hover{box-shadow:0 24px 52px #8a535022;transform:translateY(-8px)}.portrait-frame{border-radius:140px 140px 8px 8px;box-shadow:none;aspect-ratio:.91/1}.portrait-frame img{filter:grayscale(1) sepia(.12)}.portrait-card h3{font-size:clamp(25px,2vw,29px);min-height:64px}.portrait-card .country{font-size:12px;letter-spacing:.035em}.portrait-card .quote{font-size:clamp(18px,1.35vw,21px);line-height:1.6;min-height:134px;color:#805449}.portrait-card .read-story{border:0;font-size:12px;margin-top:9px;padding:14px 2px}.pioneers .section-footnote{font-size:20px;line-height:1.6;margin-top:42px;color:#805948}
.about{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(40px,5vw,90px);min-height:0;padding:96px var(--editorial-inner);background:radial-gradient(ellipse at 15% 50%,#f6d6cf 0%,transparent 65%),#fceae5;overflow:hidden}.about:after{display:none}.about-flower{opacity:1;display:block;width:100%;max-width:660px;transform:none;justify-self:center}.about-flower img{display:block;width:100%;height:clamp(350px,35vw,600px);object-fit:contain;filter:none}.about-copy{position:relative;z-index:1}.about-copy h2{font-size:clamp(35px,3.1vw,53px);line-height:1.24;letter-spacing:-.035em}.about-copy>p{font-size:16px;line-height:1.95;max-width:52ch;margin-top:27px}.about .values{font-size:13px;margin-top:30px;letter-spacing:.035em}.about .values span{border:0;padding:0 24px 0 0;margin-right:20px;position:relative}.about .values span:not(:last-child):after{content:'';position:absolute;right:0;top:50%;width:3px;height:3px;border-radius:50%;background:#a46d67}.about-copy .about-closing{font-size:22px;line-height:1.6;color:#8f585b;margin-top:30px}footer{background:#f7e0d9;padding-top:58px}.footer-main{max-width:1440px;margin:auto;gap:clamp(32px,5vw,80px)}.footer-identity h2{font-size:27px}.footer-identity>p:last-child{font-size:13px;line-height:1.85;max-width:330px}.references,.footer-bottom{max-width:1440px;margin-inline:auto}.footer-bottom{font-size:11px;line-height:1.8}
@keyframes botanical-arrival{from{opacity:.3;transform:translate3d(24px,10px,0) scale(1.025)}to{opacity:1;transform:none}}
@media(min-width:801px) and (max-height:740px){.hero{min-height:calc(100svh - 72px);padding-top:42px;padding-bottom:66px}.hero-copy{padding-bottom:0}.hero h1{font-size:clamp(42px,4.3vw,66px)}.hero-copy p{font-size:15px;line-height:1.75;margin:20px 0;max-width:430px}.hero .button{padding:12px 24px;min-height:46px;font-size:13px}.hero-note{font-size:11px;margin-top:14px}.hero-art{bottom:30px}.hero-bottom{padding-block:12px}}
@media(min-width:2000px){.hero-copy{max-width:760px}.hero-art{right:calc((100vw - 2120px)/2);width:1080px}.hero h1{font-size:86px}.hero-copy p{font-size:17px;max-width:470px}}
@media(max-width:1100px) and (min-width:801px){.hero h1{font-size:clamp(43px,4.5vw,54px)}.hero-copy p{font-size:15px;max-width:360px}.hero-art{right:-5%;width:60%}.portrait-grid{gap:23px}.portrait-card{padding:18px 18px 10px}.portrait-card h3{font-size:25px}.portrait-card .quote{font-size:18px;min-height:145px}.about{gap:32px;padding-block:78px}.about-copy>p{font-size:15px}}
@media(max-width:800px){.hero{display:flex;flex-direction:column;align-items:stretch;min-height:0;padding:40px var(--editorial-gutter) 0;background:radial-gradient(ellipse at 90% 64%,#f4d0c8 0%,transparent 55%),#fceae5}.hero-copy{width:100%;max-width:none;padding:0;order:0}.hero h1{font-size:clamp(36px,8.5vw,64px);line-height:1.17;letter-spacing:-.035em}.hero-copy p{font-size:15px;line-height:1.85;max-width:60ch;margin:23px 0}.hero .button{font-size:13px;padding:13px 23px;min-height:49px}.hero-note{font-size:11px;margin-top:16px;max-width:none}.hero-art{position:relative;inset:auto;order:1;align-self:center;flex:none;width:calc(100% + 2*var(--editorial-gutter));height:clamp(260px,35svh,420px);margin:6px calc(-1*var(--editorial-gutter)) -5px;animation:none}.hero-art img{object-fit:contain;object-position:center;mask-image:none;mix-blend-mode:normal}.hero-bottom{position:relative;inset:auto;order:2;display:flex;flex-wrap:wrap;justify-content:space-between;gap:5px 18px;font-size:11px;padding:18px 0 20px;letter-spacing:.015em;max-width:100%}.hero-bottom span+span{margin:0}.hero:after{height:90px;bottom:24px;opacity:.65}.pioneers{padding:66px var(--editorial-gutter)}.pioneers .section-heading{display:block;margin-bottom:34px}.pioneers h2{font-size:39px}.pioneers .section-heading>p{font-size:13px;margin-top:15px}.portrait-grid{grid-template-columns:1fr;max-width:430px;gap:30px;padding:0}.portrait-card{padding:23px 23px 11px;border-radius:160px 160px 18px 18px}.portrait-frame{aspect-ratio:.98/1}.portrait-card h3{font-size:28px;min-height:0;margin-top:12px}.portrait-card .country{font-size:11px;margin-top:19px}.portrait-card .quote{font-size:20px;min-height:0;margin-top:18px}.portrait-card .read-story{padding-block:15px;margin-top:13px}.pioneers .section-footnote{font-size:18px;max-width:28ch;margin:34px auto 0}.about{display:flex;flex-direction:column;gap:26px;padding:67px var(--editorial-gutter) 36px;min-height:0;background:radial-gradient(ellipse at 35% 90%,#f5d3ca 0%,transparent 65%),#fceae5}.about-copy{order:0;width:100%}.about-copy h2{font-size:clamp(33px,7.7vw,48px)}.about-copy>p{font-size:15px;line-height:1.9;margin-top:24px}.about .values{font-size:12px;margin-top:26px}.about .values span{padding-right:22px;margin-right:16px}.about-copy .about-closing{font-size:21px;margin-top:28px}.about-flower{order:1;display:block;width:calc(100% + 2*var(--editorial-gutter));max-width:630px;align-self:center;margin:0 calc(-1*var(--editorial-gutter))}.about-flower img{height:clamp(260px,35svh,390px);object-fit:contain}footer{padding:43px var(--editorial-gutter) 0}.footer-main{gap:30px 22px}.footer-identity h2{font-size:26px}.footer-bottom{font-size:11px}}
@media(max-width:360px){.hero{padding-top:32px}.hero h1{font-size:35px}.hero-copy p{font-size:14px}.hero-art{height:255px}.hero-bottom{font-size:11px}.pioneers h2{font-size:36px}.portrait-card{padding:20px 20px 10px}.portrait-card h3{font-size:26px}.portrait-card .quote{font-size:19px}.about-copy h2{font-size:32px}}
@media(prefers-reduced-motion:reduce){.hero-art{animation:none}}

header .institution{font-size:11px}@media(min-width:1601px){.workshop{padding-inline:calc((100% - 1376px)/2)}}

/* A quieter editorial rhythm, with tactile controls and consistent botanical accents. */
::selection{background:#e8bec3;color:#59433f}
:focus-visible{outline-color:var(--accent-rose);outline-offset:5px}
header nav a{min-height:44px;display:inline-flex;align-items:center}
header nav a:after{background:var(--accent-rose);bottom:7px}
.hero-copy{padding-bottom:0}
.hero{padding-bottom:64px}
.hero-art{bottom:16px}
.hero:after{height:72px}
.section-heading h2,.about-copy h2{text-wrap:balance}
.portrait-card{transition:transform .45s cubic-bezier(.16,1,.3,1),box-shadow .45s ease;box-shadow:0 12px 36px #79504a0c,0 1px 2px #79504a0a}
.portrait-toggle{height:100%;display:flex;flex-direction:column;align-items:stretch;border-radius:140px 140px 10px 10px}
.portrait-card .read-story{margin-top:auto;padding-top:22px;color:#80515a}
.portrait-frame img{transition:transform .7s cubic-bezier(.16,1,.3,1),filter .5s}
.portrait-frame{overflow:hidden}
.open-icon{transition:background .25s,color .25s,transform .4s}
.portrait-card:focus-within{box-shadow:0 16px 44px #985b6520}
.portrait-card .quote{margin-bottom:18px}
.about{align-items:center;padding-block:clamp(64px,6vw,100px)}
.about .values{display:flex;flex-wrap:wrap;gap:20px 28px;margin-top:32px}
.about .values span{display:inline-flex;align-items:center;gap:9px;padding:0;margin:0;color:#77564e;letter-spacing:.02em}
.about .values span:after{display:none}
.values svg{width:20px;height:20px;flex:none;color:var(--accent-rose)}
.piece:not(:disabled){transition:background .25s,border-color .25s,box-shadow .25s,transform .25s}
.piece:not(:disabled):focus-visible{outline:2px solid var(--accent-rose);outline-offset:4px}
.piece.is-locked{opacity:.72}
.assembly-label{font-variant-numeric:tabular-nums}
.reset,.circuit-explanation summary,.references summary,.footer-bottom a{min-height:44px}
.references summary{align-content:center}
.footer-bottom a{display:inline-flex;align-items:center;gap:7px}
@media(hover:hover) and (pointer:fine){
 .portrait-card:hover .portrait-frame img{transform:scale(1.025);filter:grayscale(.8) sepia(.1)}
 .portrait-card:hover .open-icon{background:var(--accent-rose);color:#fffaf0;transform:rotate(90deg)}
 .piece:not(:disabled):hover{border-color:#b48180;box-shadow:0 8px 24px #985b6512;transform:translateY(-2px)}
 .hero .button:hover .ui-icon{transform:translateY(3px)}
}
.hero .button .ui-icon{transition:transform .25s}
.button:active,.piece:not(:disabled):active{transform:translateY(1px)}
@media(min-width:801px){.portrait-grid{align-items:stretch}.portrait-card h3{min-height:72px}.portrait-card .quote{min-height:138px}}
@media(max-width:800px){.hero{padding-bottom:22px}.hero-art{bottom:auto;margin-bottom:0}.hero:after{bottom:0;height:55px}.about{padding-block:64px 30px}.portrait-card .read-story{margin-top:0}.about .values{gap:18px 22px}.values svg{width:19px;height:19px}}
@media(max-width:360px){.about .values{gap:14px}.about .values span{gap:6px}}
@media(prefers-reduced-motion:reduce){.portrait-frame img,.portrait-card,.piece,.open-icon,.hero .button .ui-icon{transition:none}}

/* More compact portrait collection. */
.portrait-grid{max-width:1160px;gap:clamp(22px,2.6vw,38px)}
.portrait-card{padding:21px 21px 10px}
.portrait-card:nth-child(3){background:#f9fcf7}
.portrait-frame{aspect-ratio:.98/1}
.portrait-card h3{font-size:clamp(24px,1.9vw,28px);min-height:62px}
.portrait-card .quote{min-height:118px;font-size:clamp(18px,1.25vw,20px);line-height:1.55}
.portrait-card .read-story{padding-top:16px}
.hero .button{max-width:100%;gap:20px}
@media(max-width:800px){
 .portrait-grid{max-width:390px;gap:28px}
 .portrait-card{padding:20px 20px 10px}
 .portrait-card h3{font-size:27px;min-height:0}
 .portrait-card .quote{font-size:19px;min-height:0}
 .hero .button{gap:14px;padding-inline:20px}
}

header{background:#fff5f1}
@keyframes invitation-arrow{0%,60%,100%{transform:translateY(0)}78%{transform:translateY(4px)}}
@media(prefers-reduced-motion:no-preference){
 .hero .button .ui-icon{animation:invitation-arrow 3.2s cubic-bezier(.77,0,.175,1) 1s infinite}
}
@media(prefers-reduced-motion:reduce){.hero .button .ui-icon{animation:none;transform:none!important}}

