:root{--paper:#f7f5ef;--surface:#fffefb;--ink:#263c37;--muted:#4f6058;--teal:#245e61;--accent:#975d38;--line:#d0d8cc;--soft:#e9ece3;--photo-radius:10px;--radius:10px;--header:88px;--anchor-gap:20px;--anchor-offset:calc(var(--header) + var(--anchor-gap));--sans:"Segoe UI",Arial,sans-serif;--serif:Georgia,"Times New Roman",serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--anchor-offset);scrollbar-gutter:stable}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.75 var(--sans);-webkit-font-smoothing:antialiased}body.menu-open,body.dialog-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select{font:inherit;max-width:100%}button{cursor:pointer;color:inherit}button:disabled{cursor:not-allowed;opacity:.55}img,svg{display:block;max-width:100%}img{height:auto}figure{margin:0}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--accent);outline-offset:4px}::selection{background:#d9e3d7;color:#203f39}[hidden]{display:none!important}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:400}p{margin-bottom:20px}h2{font-family:var(--serif);font-size:clamp(36px,4.1vw,57px);line-height:1.15;letter-spacing:-1.5px}h2 em{color:var(--teal)}h3{line-height:1.35}button{border:0}.icon-defs{position:absolute;width:0;height:0;overflow:hidden}.icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.wrap{width:min(1248px,calc(100% - 112px));margin-inline:auto}.eyebrow{letter-spacing:1.65px;font-size:11px;font-weight:650;text-transform:uppercase;line-height:1.65;display:flex;align-items:center;gap:12px}.eyebrow::before{content:"";width:25px;height:1px;background:currentColor}.small-label{font-size:11px;font-weight:600;letter-spacing:1.2px;color:var(--teal);display:block;line-height:1.7}.muted{color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;z-index:100;top:-100px;left:15px;padding:12px 18px;background:var(--teal);color:white}.skip:focus{top:12px}
/* Header and opening portrait */
.site-header{height:var(--header);position:sticky;top:0;z-index:30;background:var(--paper);border-bottom:1px solid transparent}.site-header.scrolled{border-color:var(--line);box-shadow:0 2px 14px #253d3408}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:22px}.wordmark{font-family:var(--serif);font-size:29px;letter-spacing:-.8px;white-space:nowrap;line-height:1.3;padding-block:10px}.wordmark i{font-style:normal;color:var(--accent)}.primary-nav{display:flex;align-items:center;gap:22px;margin-left:auto}.nav-link{font-size:13px;position:relative;min-height:44px;display:flex;align-items:center}.nav-link::after{content:"";position:absolute;left:0;bottom:7px;width:100%;height:1px;background:var(--teal);transform:scaleX(0);transform-origin:left;transition:transform .2s}.nav-link:hover::after,.nav-link[aria-current=location]::after{transform:scaleX(1)}.header-contact{display:flex;align-items:center;gap:12px;padding:10px 0 10px 22px;font-size:13px;border-left:1px solid var(--line)}.header-contact .icon{width:17px;height:17px}.menu-toggle{display:none;background:transparent;width:46px;height:46px;align-items:center;justify-content:center}.mobile-extra{display:none}
.hero{position:relative;min-height:700px;height:calc(100svh - var(--header));max-height:850px;isolation:isolate;overflow:hidden}.hero-photo{position:absolute;inset:0 0 0 46%;z-index:-2;overflow:hidden;border-radius:var(--photo-radius)}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 65%;border-radius:inherit}.hero-photo::after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg,var(--paper),rgba(247,245,239,.65) 12%,transparent 40%),linear-gradient(0deg,var(--paper),transparent 24%);pointer-events:none}.hero-inner{height:100%;display:flex;flex-direction:column;justify-content:center;position:relative;padding:10px 0 96px}.hero-copy{max-width:570px;animation:entry .6s ease-out both}.hero .eyebrow{margin-bottom:26px}.hero h1{font-family:var(--serif);font-size:clamp(75px,7.4vw,110px);letter-spacing:-4.5px;line-height:1.04;margin-bottom:26px}.hero h1 em{color:var(--teal);font-weight:400}.hero-description{font-size:17px;line-height:1.85;max-width:385px;color:var(--muted);margin-bottom:27px}.hero-actions{display:flex;gap:23px;align-items:center;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:15px;min-height:48px;padding:12px 21px;border:1px solid var(--teal);border-radius:4px;background:var(--teal);color:white;font-size:14px;line-height:1.5;transition:background .2s,transform .2s}.button:hover{background:#194b4e;transform:translateY(-1px)}.button .icon{width:18px;height:18px}.button-outline{background:transparent;color:var(--teal)}.button-outline:hover{background:#dde7da;color:var(--teal)}.text-link{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:14px;background:none;border-bottom:1px solid transparent;padding:5px 0}.text-link:hover{border-bottom-color:var(--teal)}.text-link .icon{width:18px;height:18px}.hero-lab-link{display:inline-flex;gap:14px;align-items:center;margin-top:20px;padding:13px 0;border-top:1px solid var(--line);font-size:14px;color:var(--teal)}.hero-lab-link small{display:block;font-size:12px;color:var(--muted)}.hero-lab-link>.icon:first-child{width:30px}.hero-lab-link>.icon:last-child{width:16px}.hero-foot{position:absolute;bottom:26px;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:20px}.hero-location{font-size:12px;letter-spacing:.6px;display:flex;align-items:center;gap:8px}.location-dot{width:6px;height:6px;border-radius:50%;background:var(--accent)}.scroll-hint{font-size:11px;letter-spacing:.5px;display:flex;gap:12px;align-items:center}.scroll-hint .icon{width:17px}.photo-note{position:absolute;right:28px;bottom:155px;writing-mode:vertical-rl;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:#334c46}.field-strip{border-block:1px solid var(--line);padding:20px 0}.field-strip .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px}.field-strip span{font-size:12px}.field-strip .star{font-size:19px;color:var(--accent)}
/* Portfolio content */
.section{padding:96px 0;scroll-margin-top:0}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:34px;margin-bottom:40px}.section-heading .eyebrow{margin-bottom:19px}.section-heading h2{margin:0}.section-heading>p{max-width:350px;font-size:15px;line-height:1.85;color:var(--muted);margin:0}.about-grid{display:grid;grid-template-columns:1.06fr 1fr;gap:85px;align-items:start}.about-title h2{max-width:550px}.about-content{padding-top:24px}.about-content p{color:var(--muted);font-size:16px;line-height:1.9}.about-content .intro{color:var(--ink);font-size:20px;line-height:1.7}.about-tagline{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--teal)}.about-tagline .icon{width:30px}.about-cv{margin-top:25px}.education-grid{display:grid;grid-template-columns:1fr 1fr 1.15fr;gap:24px;margin-top:52px}.education-grid>article{padding:28px 26px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-width:0}.education-card{display:flex;flex-direction:column}.education-grid h3{font-family:var(--serif);font-size:29px;letter-spacing:-.5px;margin:18px 0 12px}.education-grid p{font-size:14px;color:var(--muted)}.education-card>p{margin-bottom:24px}.education-focus{margin-top:auto;padding-top:16px;border-top:1px solid var(--line)}.education-focus p{font-size:14px;margin:7px 0 0;max-width:34ch}.education-grid .skills-card{background:var(--soft);border-color:var(--soft)}.skill-group{margin-top:18px}.skill-group>span{font-size:11px;letter-spacing:1px;color:var(--teal);text-transform:uppercase}.skill-group p{margin:4px 0 0;font-size:13px;line-height:1.8}
.experience-section{background:#f1f1e9;border-top:1px solid var(--line)}.experience-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:65px;align-items:start}.filter-row{display:flex;flex-wrap:wrap;gap:8px}.filter-chip{min-height:44px;padding:10px 15px;border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:4px;font-size:13px;line-height:1.6;text-align:left}.filter-chip.active{background:var(--teal);color:#fff;border-color:var(--teal)}.filter-chip:hover{border-color:var(--teal)}.timeline{margin-top:35px;margin-left:5px;border-left:1px solid #cbd2c6}.timeline-item{padding:0 0 34px 26px;position:relative}.timeline-item:last-child{padding-bottom:0}.timeline-item::before{content:"";position:absolute;width:7px;height:7px;background:var(--teal);border:4px solid #f1f1e9;box-sizing:content-box;border-radius:50%;left:-8px;top:4px}.timeline-date{color:var(--teal);font-size:12px;letter-spacing:.2px}.timeline-item h3{font-family:var(--serif);font-size:27px;letter-spacing:-.45px;margin:8px 0}.timeline-item p{font-size:15px;line-height:1.85;color:var(--muted);margin:0}.timeline-item .timeline-role{font-size:14px;color:var(--ink);margin-bottom:10px;font-weight:500}.related-work{display:inline-block;padding:8px 0;font-size:13px;color:var(--teal);text-decoration:underline;text-underline-offset:4px;min-height:44px}.experience-aside{position:sticky;top:calc(var(--header) + 26px)}.photo-button{padding:0;display:block;overflow:hidden;background:none;width:100%;position:relative;border-radius:var(--photo-radius)}.photo-button img{width:100%;border-radius:inherit;transition:transform .5s}.photo-button:hover img{transform:scale(1.015)}.photo-button::after{content:"↗";position:absolute;right:13px;bottom:13px;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:rgba(247,245,239,.93);font-size:23px;color:var(--teal)}.experience-aside .photo-button img{aspect-ratio:4/3;object-fit:cover;object-position:50% 50%}.photo-caption{display:flex;justify-content:space-between;gap:15px;margin:14px 0 0;font-size:12px;color:var(--muted)}.photo-caption>span:first-child{color:var(--teal)}.experience-aside blockquote{font-family:var(--serif);font-size:31px;line-height:1.3;letter-spacing:-.5px;max-width:400px;margin:32px 0 18px}.aside-note{font-size:14px;color:var(--muted);line-height:1.85;max-width:390px}
.projects{background:#eeeee6;border-block:1px solid #e1e3d9}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 24px}.project-card{display:flex;flex-direction:column;min-width:0}.project-image-button{padding:0;display:block;width:100%;overflow:hidden;background:none;border-radius:var(--photo-radius);text-align:left}.project-visual{width:100%;height:auto;aspect-ratio:480/280;border-radius:inherit;transition:transform .4s}.project-image-button:hover .project-visual{transform:scale(1.02)}.project-meta{display:flex;flex-wrap:wrap;gap:6px 12px;margin:19px 0 11px;font-size:11px;letter-spacing:.5px;color:var(--teal)}.project-meta>span:last-child{background:#e2e8dd;padding:3px 7px;border-radius:4px;letter-spacing:0;color:var(--muted)}.project-card h3{font-family:var(--serif);font-size:27px;letter-spacing:-.4px;margin:0 0 12px;line-height:1.25}.project-card p{font-size:15px;color:var(--muted);line-height:1.8;margin-bottom:16px}.project-link{display:flex;justify-content:space-between;align-items:center;gap:15px;min-height:48px;font-size:14px;background:none;padding:0;border-bottom:1px solid #bdc8b9;width:100%;text-align:left;margin-top:auto}.project-link .icon{width:18px;height:18px}.prototype-note{font-size:12px;color:var(--muted);margin:25px 0 0}.reports-block{border-block:1px solid #c8d1c3;margin-top:40px}.reports-block>summary{display:flex;justify-content:space-between;align-items:center;gap:20px;cursor:pointer;padding:24px 0;list-style:none}.reports-block summary::-webkit-details-marker{display:none}.reports-block strong{display:block;font-family:var(--serif);font-size:27px;font-weight:400;margin-top:4px}.summary-plus{font-size:28px;color:var(--teal)}.reports-block[open] .summary-plus{transform:rotate(45deg)}.report-list{list-style:none;margin:0;padding:0 0 15px}.report-list li{display:grid;grid-template-columns:55px 1fr;gap:20px;border-top:1px solid #d0d8c9;padding:14px 0;font-size:14px}.report-list li>span:first-child{color:var(--teal)}.project-lab-bridge{display:flex;gap:22px;align-items:center;justify-content:space-between;padding:18px 22px;border:1px solid #cbd2c7;border-radius:7px;margin-top:30px;font-size:14px;color:var(--teal)}
.community-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.community-photo{min-width:0}.community-photo .festival-frame img{aspect-ratio:4/5;object-fit:cover;object-position:50% 50%}.community-intro{font-size:16px;line-height:1.85;color:var(--muted)}.community-list{border-top:1px solid var(--line)}.community-list details{border-bottom:1px solid var(--line)}.community-list summary{display:flex;justify-content:space-between;gap:15px;align-items:center;list-style:none;cursor:pointer;min-height:60px;padding:15px 0;font-size:15px}.community-list summary::-webkit-details-marker{display:none}.community-list summary>span{font-size:12px;color:var(--teal);text-align:right}.community-list summary>span::after{content:" +";margin-left:8px}.community-list details[open] summary>span::after{content:" −"}.community-list p{font-size:15px;line-height:1.9;color:var(--muted)}
/* Interactive laboratory */
.lab-section{background:#eaece4;border-block:1px solid #d8ddd1}.lab-welcome{max-width:370px}.lab-welcome>p{font-size:15px;color:var(--muted);line-height:1.85}.motion-toggle{display:inline-flex;align-items:center;gap:8px;min-height:44px;background:none;border:1px solid #b9cbb9;border-radius:5px;padding:8px 13px;font-size:13px;color:var(--teal)}.motion-toggle .icon{width:16px;height:16px}.lab-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:20px;scroll-margin-top:0}.lab-catalog-card{display:block;text-align:left;padding:20px;border:1px solid #bdccbd;border-radius:10px;min-width:0;background:#f9faf4;color:var(--ink);transition:transform .2s,border-color .2s}.lab-catalog-card:hover{transform:translateY(-3px);border-color:var(--teal)}.lab-catalog-card[aria-pressed=true]{background:#e1eae0;box-shadow:inset 0 0 0 1px var(--teal);border-color:var(--teal)}.catalog-top{display:flex;justify-content:space-between;align-items:center;color:var(--teal);font-size:11px;letter-spacing:1.1px;text-transform:uppercase}.catalog-top .icon{width:17px;height:17px}.tool-mini{width:100%;height:82px;margin:8px 0 13px}.lab-catalog-card strong{display:block;font-size:16px;font-weight:600;line-height:1.45;margin-bottom:7px}.lab-catalog-card small{display:block;font-size:14px;line-height:1.75;color:var(--muted)}.lab-selection-line{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:12px;margin:14px 0;color:var(--muted)}.lab-selection-line a{min-height:44px;display:flex;align-items:center;color:var(--teal)}.lab-shell{border:1px solid #bccabb;border-radius:10px;background:var(--surface);overflow:hidden;scroll-margin-top:0}.lab-switchbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:14px 28px;border-bottom:1px solid var(--line);background:#f1f4ec}.lab-switchbar label{font-size:13px;color:var(--muted)}.lab-switchbar select{min-height:44px;padding:8px 12px;border:1px solid #acbfae;border-radius:5px;background:var(--surface);font-size:14px;color:var(--teal);max-width:65%}.lab-switchbar .text-link{margin-left:auto;font-size:13px}.lab-panel{padding:32px 30px 0}.lab-panel-heading{display:flex;justify-content:space-between;gap:24px;align-items:start;margin-bottom:20px}.lab-kicker{font-size:11px;letter-spacing:1.2px;color:var(--teal);display:block;margin-bottom:9px}.lab-panel-heading h3{font-family:var(--serif);font-size:34px;letter-spacing:-.6px;line-height:1.25;margin:0 0 13px;scroll-margin-top:0}.lab-panel-heading p{font-size:15px;line-height:1.85;max-width:630px;color:var(--muted);margin:0}.model-chip{font-size:11px;color:var(--teal);border:1px solid #bccdbc;border-radius:20px;padding:7px 12px;white-space:nowrap}.try-note{padding:13px 16px;border-left:2px solid var(--accent);background:#f5f1e6;color:var(--muted);font-size:14px;line-height:1.85;margin-bottom:24px}.try-note strong{color:var(--ink)}.lab-workspace{display:grid;grid-template-columns:285px minmax(0,1fr);gap:25px;align-items:start}.lab-controls{padding:20px;background:#eef2e9;border:1px solid #d3dccd;border-radius:7px;min-width:0}.lab-field{margin-bottom:22px;min-width:0}.lab-field:last-child{margin-bottom:0}.lab-field>label{display:flex;justify-content:space-between;align-items:start;gap:10px;font-size:14px;line-height:1.5;margin-bottom:9px}.lab-field output{font-size:13px;color:var(--teal);font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}.lab-field select,.direct-number,.filter-view-select select{width:100%;min-height:46px;padding:10px;border:1px solid #acbfae;background:var(--surface);border-radius:5px;color:var(--ink);font-size:16px}.lab-field input[type=range]{width:100%;min-height:40px;cursor:pointer;accent-color:var(--teal);margin:0}.lab-input{display:flex;align-items:center;gap:5px;border:1px solid #acbfae;border-radius:5px;background:var(--surface);padding:0 9px;min-width:0}.lab-input input{width:100%;min-width:0;padding:10px 0;min-height:46px;background:none;border:0;color:var(--ink);font-size:16px;font-variant-numeric:tabular-nums}.lab-input span{font-size:13px;color:var(--muted)}.lab-input:has([aria-invalid=true]),.direct-number[aria-invalid=true]{border-color:#a04a36;background:#fff2ec}.lab-fields-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 12px}.lab-fields-grid .lab-field{margin:0}.lab-fields-grid .lab-field label{font-size:13px;min-height:42px;align-items:end}.lab-fields-grid+.slider-field{margin-top:23px}.lab-controls .button{width:100%;font-size:14px;white-space:normal;margin-block:6px 18px;padding-inline:12px}.control-note{font-size:13px;line-height:1.85;color:var(--muted);margin:16px 0}.lab-controls .field-error{font-size:13px;color:#943a28;margin:12px 0}.field-error:empty{display:none}.lab-visual{min-width:0;align-self:start}.lab-chart{width:100%;height:auto;background:#fafbf7;border:1px solid #d9e1d3;border-radius:7px;min-width:0;max-height:none}.chart-caption{font-size:13px;color:var(--muted);line-height:1.8;margin:12px 0 0}.phase-row{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:5px;margin-top:13px}.phase-item{min-width:0;text-align:center;border:1px solid #c9d5c2;border-radius:4px;padding:5px 2px;background:#f1f4ed;line-height:1.6}.phase-item span{display:block;font-size:10px;color:var(--muted)}.phase-item strong{font-size:11px;color:var(--teal);font-weight:500}.live-interpretation{display:grid;grid-template-columns:130px 1fr;gap:18px;margin-top:23px;padding:19px 20px;background:#edf2e8;border:1px solid #d5dfcf;border-radius:7px}.live-interpretation>span{font-size:11px;letter-spacing:1.2px;color:var(--teal);font-weight:650}.live-interpretation p{font-size:15px;line-height:1.85;margin:0;color:var(--ink)}.normalized-note,.comparison-note{font-size:13px;color:var(--muted);margin:15px 0}.comparison-note:empty{display:none}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:25px;border-block:1px solid var(--line)}.metric{padding:21px 15px;border-right:1px solid var(--line);min-width:0}.metric:first-child{padding-left:0}.metric:last-child{border:0}.metric>span{display:block;font-size:12px;color:var(--muted);margin-bottom:8px;line-height:1.7}.metric output{display:block;font-family:var(--serif);font-size:29px;line-height:1.35;color:var(--teal);overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.metric output small{font-family:var(--sans);font-size:13px}.metric output.metric-long{font-size:23px}.chart-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;padding:14px 0}.chart-actions>button{display:flex;align-items:center;gap:8px;min-height:44px;background:none;padding:7px 0;border-bottom:1px solid transparent;color:var(--teal);font-size:13px}.chart-actions>button:hover{border-bottom-color:var(--teal)}.chart-actions>button:disabled{opacity:.5}.model-details{background:#f4f6ee;border-top:1px solid var(--line);margin:0 -30px;padding:0 30px}.model-details summary{font-size:14px;color:var(--teal);min-height:55px;padding:16px 0;cursor:pointer}.model-details p{font-size:14px;line-height:1.9;color:var(--muted);overflow-wrap:anywhere;margin-bottom:20px}.source-link{display:inline-flex;align-items:center;gap:5px;min-height:36px;text-decoration:underline;text-underline-offset:3px}.source-link .icon{width:14px;height:14px}.lab-disclaimer{font-size:13px;line-height:1.85;color:var(--muted);margin:20px 0 0;max-width:1050px}.preset-buttons{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0}.preset-buttons button{border:1px solid #afc2af;border-radius:5px;background:var(--surface);min-height:44px;font-size:13px;padding:8px 10px;color:var(--teal);text-align:left}.point-readout{font-size:14px;line-height:1.8;color:var(--teal);margin:15px 0 0;overflow-wrap:anywhere}.filter-view-select{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 15px}.filter-view-select label{font-size:13px}.filter-view-select select{width:auto;flex:1;min-width:180px;font-size:15px}.filter-edge-note{padding:12px 14px;border-left:2px solid var(--teal);background:#edf2e8;font-size:13px;color:var(--teal);line-height:1.8;margin:12px 0 0}.filter-edge-note:empty{display:none}.glossary{margin-top:25px;border-block:1px solid #bdcdb8;padding:0 18px}.glossary>summary{font-size:14px;color:var(--teal);min-height:52px;padding:14px 0;cursor:pointer}.glossary dl{display:grid;grid-template-columns:160px 1fr;gap:10px 24px;margin:5px 0 22px;font-size:14px}.glossary dt{font-weight:600;color:var(--ink)}.glossary dd{margin:0;color:var(--muted)}.signal-flow{stroke-dasharray:6 8;animation:flow 2.5s linear infinite}.is-paused .signal-flow,.page-hidden .signal-flow{animation-play-state:paused}@keyframes flow{to{stroke-dashoffset:-56}}
/* Certificate and personal sections */
.document-row{margin-bottom:32px}.document-row>a{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:21px 25px;background:#eeeee6;border:1px solid var(--line);border-radius:7px;min-height:90px;max-width:650px}.document-row>a>span{display:flex;gap:19px;align-items:center}.document-row strong{display:block;font-weight:500;font-size:17px}.document-row small{display:block;color:var(--muted);font-size:13px;margin-top:4px}.document-row a:hover{border-color:var(--teal)}.cert-toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:25px}.cert-search{display:flex;align-items:center;border:1px solid #afbfad;border-radius:5px;padding:0 13px;min-height:46px;min-width:240px;max-width:100%}.cert-search input{background:transparent;border:0;padding:10px 0;color:var(--ink);font-size:16px;width:200px;min-width:0}.cert-search .icon{width:18px}.cert-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.cert-card{display:flex;flex-direction:column;min-width:0;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:23px 23px 12px}.cert-card:hover{border-color:#91a79a}.cert-top{display:flex;align-items:center;gap:11px;color:var(--teal)}.cert-top>span:last-child{font-size:11px;letter-spacing:.6px}.cert-symbol{display:grid;place-items:center;background:#e9eee7;border-radius:5px;width:34px;height:38px;flex-shrink:0}.cert-symbol .icon{width:19px;height:24px}.cert-card h3{font-size:17px;font-weight:500;line-height:1.6;margin:18px 0 10px}.cert-meta{font-size:12px;color:var(--muted);margin-bottom:16px}.cert-link{display:flex;justify-content:space-between;gap:10px;align-items:center;min-height:46px;font-size:14px;border-top:1px solid var(--line);margin-top:auto}.cert-link>span{display:flex;gap:5px;align-items:center;font-size:12px;color:var(--muted)}.cert-link .icon{width:15px;height:15px}.cert-bottom{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:24px 0 16px}.cert-bottom>span{font-size:13px;color:var(--muted)}.empty-state{padding:25px;background:var(--soft);border:1px solid var(--line);font-size:15px}.personal-section{background:#eeeee5;border-top:1px solid var(--line)}.personal-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:65px;align-items:center}.personal-intro{color:var(--muted);font-size:16px;line-height:1.85;max-width:480px}.hobby-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:28px 0 0;padding:0;list-style:none}.hobby-card{display:flex;flex-direction:column;list-style:none;padding:23px 20px;border:1px solid #ced8c7;background:#f7f8f0;border-radius:10px;min-width:0}.hobby-card>.icon,.hobby-icon{width:30px;height:30px;color:var(--teal);margin-bottom:16px}.hobby-card h3{font-family:var(--serif);font-size:25px;margin:0 0 7px}.hobby-card strong{font-size:12px;font-weight:500;color:var(--accent)}.hobby-card p{font-size:14px;color:var(--muted);line-height:1.8;margin:8px 0 0}.personal-photo img{width:100%;aspect-ratio:3/4.7;object-fit:cover;object-position:45% 61%}.personal-photo figcaption{font-family:var(--serif);font-size:17px;font-style:italic;color:var(--teal);margin-top:16px}.contact{padding:85px 0 35px;background:#e6ebdf;border-top:1px solid #dce2d4}.contact-main{display:flex;align-items:center;justify-content:space-between;gap:55px;padding-bottom:45px}.contact h2{font-size:clamp(39px,4.6vw,66px);margin:0}.contact-options{min-width:260px}.contact-options>p{font-size:15px;line-height:1.85;color:var(--muted);max-width:340px}.contact-email{display:flex;align-items:center;gap:15px;min-height:50px;font-size:18px;border-bottom:1px solid #a8b8a2;overflow-wrap:anywhere}.contact-email .icon{width:19px;height:19px}.socials{display:flex;gap:22px;flex-wrap:wrap;margin-top:12px}.socials a{display:flex;align-items:center;gap:6px;font-size:14px;min-height:44px}.socials .icon{width:15px;height:15px}.footer-line{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #cbd4c3;padding-top:22px;font-size:13px;color:var(--muted)}.footer-line>a{display:flex;gap:10px;align-items:center;min-height:44px}.footer-line .icon{width:16px}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,15px);padding:13px 22px;border-radius:6px;color:var(--surface);background:var(--ink);font-size:14px;z-index:80;opacity:0;pointer-events:none;max-width:calc(100% - 30px);text-align:center}.toast.visible{opacity:1;transform:translate(-50%,0)}
/* Dialogs and case studies */
dialog{overscroll-behavior:contain;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:var(--photo-radius);max-height:90svh}dialog::backdrop{background:#172e29b8;backdrop-filter:blur(4px)}.project-dialog{width:min(740px,calc(100% - 32px));padding:40px;overflow:auto}.dialog-close,.photo-close{position:absolute;top:10px;right:10px;display:grid;place-items:center;width:44px;height:44px;background:var(--paper);border-radius:50%;z-index:2}.dialog-eyebrow{font-size:12px;letter-spacing:1.1px;color:var(--teal);padding-right:35px}.project-dialog h2{font-size:38px;padding-right:20px}.project-dialog p{font-size:16px;color:var(--muted);line-height:1.85}.project-dialog h3{font-size:15px;font-weight:600;margin-top:25px}.dialog-tools{padding-top:15px;border-top:1px solid var(--line);font-size:14px!important;color:var(--teal)!important}.scope-details{border-top:1px solid var(--line);margin-top:22px}.scope-details summary{font-size:14px;color:var(--teal);cursor:pointer;padding:14px 0}.scope-details .dialog-notice{font-size:14px}.photo-dialog{padding:0;border:0;width:fit-content;max-width:calc(100% - 24px);overflow:auto}.photo-dialog img{width:auto;max-width:100%;max-height:80svh;object-fit:contain;border-radius:var(--photo-radius)}.photo-dialog p{font-size:14px;margin:0;padding:13px 20px;max-width:650px}.graph-dialog{width:min(1180px,calc(100% - 24px));padding:22px;overflow:auto}.graph-dialog>header{position:sticky;top:-22px;z-index:3;background:var(--paper);padding-block:10px;display:flex;align-items:center;justify-content:space-between;gap:15px}.graph-dialog h2{font-size:28px;letter-spacing:-.5px;margin:0}.graph-dialog header button{width:44px;height:44px;background:var(--soft);border-radius:5px;font-size:30px;flex-shrink:0}#graph-large{overflow:auto;border:1px solid var(--line);border-radius:8px;background:#fafbf7}#graph-large svg{max-width:none;width:100%;min-width:1000px;height:auto}#graph-context{font-size:14px;color:var(--muted);margin:16px 0 0}.noscript-note{padding:20px;text-align:center;font-size:14px;background:var(--soft)}.reveal{transition:transform .5s,opacity .5s}.js .reveal.pending{opacity:0;transform:translateY(10px)}@keyframes entry{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.case-header{padding:65px 0 40px;border-bottom:1px solid var(--line)}.case-header h1{font-family:var(--serif);font-size:clamp(38px,5vw,68px);line-height:1.1;letter-spacing:-1.3px;max-width:900px}.case-header .lead{max-width:820px;font-size:19px;color:var(--muted)}.case-meta{display:flex;flex-wrap:wrap;gap:9px}.case-meta span{border:1px solid var(--line);border-radius:4px;padding:5px 10px;color:var(--teal);font-size:13px}.case-body{padding:50px 0 80px}.case-body>section{max-width:880px;margin-bottom:38px}.case-body h2{font-size:32px;letter-spacing:-.6px;margin-bottom:18px}.case-body p{font-size:16px;color:var(--muted);line-height:1.9}.case-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:25px 0}.case-flow>div{background:var(--soft);border:1px solid var(--line);border-radius:8px;padding:22px;min-width:0}.case-flow strong{font-size:17px;color:var(--teal);display:block;margin-bottom:12px}.case-flow span{font-size:14px;color:var(--muted)}.case-related{display:flex;align-items:center;gap:15px;flex-wrap:wrap;padding-top:20px;border-top:1px solid var(--line)}

/* Release details: navigation, document cards and accessible controls. */
main:focus,.section:focus{outline:none}
.section> .wrap,.personal-grid>div,.community-grid>div{min-width:0}
h1,h2,h3{text-wrap:balance}
.hobby-card::marker{content:""}
.hobby-card p{max-width:38ch}
.cert-card{transition:border-color .2s,box-shadow .2s}
.cert-card:focus-within{border-color:var(--teal);box-shadow:0 0 0 1px var(--teal)}
.cert-card .cert-meta{color:var(--muted);letter-spacing:.3px}
.cert-card .cert-link{gap:14px}
.cert-bottom button[aria-expanded=true]{background:var(--soft)}
.document-row>a:focus-visible,.photo-button:focus-visible{outline-offset:5px}
#cert-search{scroll-margin-top:10px}
.community-list summary{gap:20px}
.community-list summary:hover,.scope-details summary:hover,.model-details summary:hover{color:var(--ink)}
.community-list summary>span{flex-shrink:0}
button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{scroll-margin-block:8px}
.graph-dialog .control-note{margin-top:6px}
.graph-dialog #graph-large{overscroll-behavior:contain}
.photo-dialog .photo-close:focus-visible{outline-offset:-4px}
.case-toc{display:flex;align-items:center;flex-wrap:wrap;gap:8px 22px;border-block:1px solid var(--line);padding:12px 0;margin-bottom:35px}
.case-toc>span{font-size:12px;letter-spacing:.7px;text-transform:uppercase;color:var(--muted)}
.case-toc a{display:inline-flex;align-items:center;min-height:44px;font-size:14px;color:var(--teal);text-decoration:underline;text-underline-offset:5px}
.case-breadcrumb{font-size:13px;color:var(--muted);margin-bottom:22px;display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.case-breadcrumb a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px}
.case-body h2:focus-visible{outline-offset:8px}
.case-body .scope-details{background:var(--soft);padding:0 20px;border:1px solid var(--line);border-radius:var(--radius)}
.case-body .scope-details p{margin-bottom:18px}
.case-related{padding-top:25px}
.empty-state p{margin:0 0 12px}
@media (hover:none){.photo-button:hover img,.project-image-button:hover .project-visual,.lab-catalog-card:hover,.button:hover{transform:none}}

@media(min-width:1600px){.wrap{width:min(1380px,calc(100% - 160px))}.hero-photo{left:48%}.hero h1{font-size:120px}.hero-description{font-size:18px}.primary-nav{gap:28px}}
@media(max-width:1150px){.wrap{width:calc(100% - 72px)}.primary-nav{gap:16px}.nav-link,.header-contact{font-size:12px}.hero-photo{left:41%}.hero h1{font-size:87px}.hero-description{font-size:16px;max-width:335px}.hero-copy{max-width:510px}.about-grid{gap:50px}.education-grid{gap:16px}.education-grid>article{padding:24px 20px}.education-grid h3{font-size:26px}.experience-layout{gap:40px}.community-grid{gap:48px}.lab-workspace{grid-template-columns:255px minmax(0,1fr);gap:20px}.personal-grid{gap:40px}.lab-panel{padding-inline:24px}.model-details{margin-inline:-24px;padding-inline:24px}}
@media(max-width:1000px){:root{--header:72px}.header-contact{display:none}.menu-toggle{display:flex;order:3}.primary-nav{position:absolute;top:var(--header);left:0;right:0;max-height:calc(100svh - var(--header));overflow:auto;padding:18px 28px 24px;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;box-shadow:0 13px 24px #273d3610}.js .primary-nav:not(.open){display:none}.nav-link{font-family:var(--serif);font-size:27px;font-weight:400;padding:9px 0;min-height:50px;border-bottom:1px solid var(--line)}.nav-link::after{display:none}.nav-link[aria-current=location]{color:var(--teal)}.mobile-extra{display:flex;align-items:center;gap:10px;min-height:44px;padding-top:15px;font-size:14px}.hero-photo::after{background:linear-gradient(90deg,var(--paper),rgba(247,245,239,.55) 16%,transparent 57%),linear-gradient(0deg,var(--paper),transparent 28%)}.hero-copy{max-width:460px}.hero h1{font-size:78px}.photo-note{display:none}.lab-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.experience-layout{gap:28px}.experience-aside blockquote{font-size:27px}.community-grid h2{font-size:42px}.lab-workspace{grid-template-columns:245px minmax(0,1fr);gap:18px}.lab-controls{padding:17px}.metric output{font-size:26px}.model-chip{display:none}.cert-toolbar{display:block}.cert-search{margin-top:14px;width:100%}.cert-search input{width:100%}}
@media(max-width:820px){.wrap{width:calc(100% - 48px)}.section{padding:75px 0}.section-heading{gap:25px}.section-heading>p{font-size:14px;max-width:240px}.education-grid{grid-template-columns:1fr 1fr}.education-grid .skills-card{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:10px 25px}.skills-card h3{display:none}.skills-card .small-label{grid-column:1/-1}.skill-group{margin:0}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.community-grid{grid-template-columns:1fr;gap:35px}.community-photo{width:min(500px,100%);margin:auto}.lab-workspace{grid-template-columns:1fr}.lab-controls{display:grid;grid-template-columns:1fr 1fr;gap:19px 22px}.lab-controls>.lab-field{margin:0}.lab-controls>.control-note,.lab-controls>.field-error,.lab-controls>.preset-buttons,.lab-controls>.lab-fields-grid,.lab-controls>.point-readout{grid-column:1/-1}.lab-fields-grid+.slider-field{margin:0}.lab-controls .button{margin:0;align-self:center}.lab-visual{width:100%}.live-interpretation{grid-template-columns:1fr;gap:8px}.cert-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.personal-grid{grid-template-columns:1fr}.personal-photo{max-width:440px;margin:0 auto;width:100%}.personal-photo img{aspect-ratio:4/5;object-position:45% 62%}.contact-main{gap:30px}.about-grid{gap:35px}.about-content{padding-top:10px}.about-content .intro{font-size:18px}}
@media(max-width:650px){:root{--header:68px}.wrap{width:calc(100% - 40px)}html{scroll-padding-top:var(--anchor-offset)}.site-header{border-bottom:1px solid var(--line)}.wordmark{font-size:27px}.hero{min-height:0;height:auto;max-height:none}.hero-photo{left:0;top:0;bottom:auto;height:400px}.hero-photo img{object-position:50% 43%}.hero-photo::after{background:linear-gradient(0deg,var(--paper),rgba(247,245,239,.87) 8%,rgba(247,245,239,.2) 27%,transparent 42%)}.hero-inner{height:auto;padding-top:330px;padding-bottom:70px;min-height:830px;justify-content:start}.hero-copy{max-width:100%}.hero h1{font-size:64px;letter-spacing:-3px;margin-bottom:18px;line-height:1.03}.hero .eyebrow{font-size:10px;letter-spacing:1px;margin-bottom:15px}.hero-description{font-size:15px;line-height:1.8;max-width:350px;margin-bottom:20px}.hero-actions{gap:14px}.hero-actions .button{font-size:13px;padding-inline:16px}.hero-actions .text-link{font-size:13px}.hero-lab-link{font-size:14px;max-width:100%;margin-top:16px;gap:10px}.hero-lab-link small{font-size:12px}.hero-foot{bottom:18px}.hero-location{font-size:10px;letter-spacing:0}.scroll-hint{font-size:0;gap:0}.scroll-hint .icon{width:18px}.field-strip{padding:16px 0}.field-strip .wrap{display:grid;grid-template-columns:1fr 1fr;gap:11px 15px}.field-strip span{font-size:11px}.field-strip .star{display:none}.section{padding:62px 0}.section-heading{display:block;margin-bottom:30px}.section-heading h2{margin-bottom:18px}h2{font-size:38px;letter-spacing:-1px}.section-heading>p{max-width:none;font-size:15px}.about-grid{grid-template-columns:1fr;gap:20px}.about-title h2{margin-bottom:18px}.about-content{padding:0}.about-content p{font-size:16px}.about-content .intro{font-size:18px}.about-cv{margin-top:14px}.education-grid{grid-template-columns:1fr;gap:15px;margin-top:33px}.education-grid h3{font-size:28px}.education-grid .skills-card{grid-column:auto;grid-template-columns:1fr}.education-grid p{font-size:14px}.education-grid .small-label{font-size:11px}.experience-layout{display:flex;flex-direction:column;gap:35px}.experience-layout>div,.experience-aside{width:100%}.experience-aside{position:static}.experience-aside blockquote{font-size:31px}.timeline-item{padding-left:22px}.timeline-item h3{font-size:26px}.timeline-item p{font-size:15px}.timeline-item .timeline-role{font-size:14px}.filter-chip{font-size:13px}.project-grid{grid-template-columns:1fr;gap:34px}.project-card h3{font-size:29px}.project-card p{font-size:15px}.project-meta{font-size:11px}.project-lab-bridge{display:block;padding:15px 18px}.project-lab-bridge>span{font-size:14px}.report-list li{grid-template-columns:38px 1fr;gap:12px;font-size:14px}.reports-block strong{font-size:25px}.community-grid h2{font-size:38px}.community-intro{font-size:16px}.community-list summary{font-size:14px}.community-list summary>span{font-size:12px}.photo-caption{font-size:12px}.lab-welcome{max-width:none}.lab-welcome>p{font-size:15px}.lab-tabs{gap:12px}.lab-catalog-card{padding:14px 12px}.lab-catalog-card strong{font-size:15px}.lab-catalog-card small{font-size:13px}.catalog-top{font-size:10px}.tool-mini{height:66px}.lab-switchbar{padding:12px 15px;gap:8px}.lab-switchbar select{max-width:none;flex:1}.lab-switchbar .text-link{width:100%;margin:0;justify-content:end;min-height:34px}.lab-panel{padding:23px 16px 0}.lab-panel-heading h3{font-size:30px}.lab-panel-heading p{font-size:15px}.lab-kicker{font-size:11px}.try-note{font-size:14px;padding:12px 14px}.lab-controls{display:block;padding:17px}.lab-controls>.lab-field{margin-bottom:22px}.lab-controls>.lab-field:last-child{margin-bottom:0}.lab-controls .button{margin:5px 0 18px}.lab-field label{font-size:14px}.lab-field output{font-size:14px}.lab-visual{margin-inline:-8px;width:calc(100% + 16px)}.lab-chart{width:100%}.chart-caption{font-size:13px;padding-inline:4px}.metric-grid{grid-template-columns:1fr 1fr;margin-top:22px}.metric{padding:17px 10px!important;border-bottom:1px solid var(--line)}.metric:nth-child(2n){border-right:0}.metric:nth-child(n+3){border-bottom:0}.metric>span{font-size:12px}.metric output{font-size:28px}.metric output.metric-long{font-size:22px}.chart-actions{gap:4px 16px}.chart-actions>button{font-size:13px;min-height:44px}.model-details{margin-inline:-16px;padding-inline:16px}.model-details summary{font-size:14px}.model-details p{font-size:14px}.control-note,.chart-caption{font-size:13px}.phase-row{grid-template-columns:repeat(4,minmax(0,1fr))}.phase-item span,.phase-item strong{font-size:12px}.live-interpretation{padding:16px;gap:7px}.live-interpretation p{font-size:15px}.glossary{padding-inline:12px}.glossary dl{grid-template-columns:1fr;gap:5px}.glossary dd{margin-bottom:13px}.document-row>a{padding:19px}.cert-grid{grid-template-columns:1fr}.cert-card{padding:22px 21px 12px}.cert-card h3{font-size:17px}.cert-top>span:last-child{font-size:11px}.cert-bottom{align-items:start}.cert-bottom>span{font-size:12px}.cert-bottom .button{font-size:12px;padding:10px 13px}.hobby-cards{gap:12px}.hobby-card{display:flex;flex-direction:column;list-style:none;padding:20px 16px}.hobby-card h3{font-size:25px}.hobby-card p{font-size:14px}.personal-intro{font-size:16px}.contact{padding:60px 0 25px}.contact-main{display:block;padding-bottom:30px}.contact h2{font-size:43px}.contact-options{min-width:0;margin-top:27px}.contact-email{font-size:17px;justify-content:space-between}.footer-line{font-size:12px;gap:12px;flex-wrap:wrap}.project-dialog{padding:38px 24px 25px}.project-dialog h2{font-size:32px}.project-dialog p{font-size:15px}.graph-dialog{padding:15px}.graph-dialog h2{font-size:25px}.case-header{padding-top:40px}.case-header .lead{font-size:17px}.case-flow{grid-template-columns:1fr}.case-body{padding-top:35px}}
@media(max-width:380px){.hero h1{font-size:57px}.hero-inner{padding-top:305px}.hero-photo{height:375px}.hero .eyebrow{font-size:9px;letter-spacing:.65px}.hero-actions{gap:8px}.hero-actions .text-link{font-size:12px}.lab-tabs{grid-template-columns:1fr}.lab-catalog-card{display:grid;grid-template-columns:82px 1fr;gap:7px 13px;padding:17px}.catalog-top{grid-column:1/-1}.lab-catalog-card .tool-mini{grid-column:1;grid-row:2/4;height:68px;margin:0}.lab-catalog-card strong{grid-column:2;grid-row:2}.lab-catalog-card small{grid-column:2;grid-row:3}.hobby-cards{grid-template-columns:1fr}.metric output{font-size:24px}.model-details p{font-size:13px}.lab-fields-grid{grid-template-columns:1fr}.lab-fields-grid .lab-field label{min-height:0}.cert-bottom{flex-direction:column}.filter-view-select select{min-width:0;width:100%}}
@media(max-width:650px) and (max-height:760px){.hero-photo{height:340px}.hero-inner{padding-top:277px;min-height:770px}.hero h1{font-size:57px}.hero .eyebrow{margin-bottom:12px}}
@media(max-width:650px){input[type=text],input[type=search],select,.lab-field select,.lab-input input{font-size:16px}.graph-dialog>header{top:-15px}.case-toc{gap:4px 16px}.case-toc>span{width:100%}.case-breadcrumb{gap:6px}.site-header .header-inner>.text-link{font-size:13px;line-height:1.4;text-align:right;max-width:140px}.community-list summary{gap:12px}.community-list summary>span{white-space:normal;text-align:right;max-width:45%}.graph-dialog h2{padding-right:8px}.hero-location{font-size:11px}}
@media(max-width:520px){.hobby-cards{grid-template-columns:1fr}.hobby-card{display:grid;grid-template-columns:32px minmax(0,1fr);gap:4px 16px;padding:21px}.hobby-card>.icon{grid-row:1/3;margin:4px 0 0}.hobby-card h3{font-size:25px}.hobby-card p{grid-column:2;margin:0;max-width:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.js .reveal.pending{opacity:1;transform:none}}
@media print{.site-header,.hero-actions,.hero-lab-link,.scroll-hint,.photo-button::after,.lab-tabs,.lab-switchbar,.lab-selection-line,.chart-actions,.lab-controls,.cert-toolbar,.cert-bottom,.filter-row,.motion-toggle,.toast,.glossary{display:none!important}.wrap{width:92%}.hero{height:auto;min-height:450px}.hero-inner{min-height:450px;padding-top:40px}.section{padding:35px 0}.experience-aside{position:static}.reveal{opacity:1!important;transform:none!important}.timeline-item,.cert-card{display:block!important;break-inside:avoid}.project-card,.hobby-card{break-inside:avoid}.lab-panel[hidden]{display:none!important}.contact{padding:35px 0}.model-details{margin:0;padding:0}.case-flow{break-inside:avoid}}

.lab-offscreen .signal-flow{animation-play-state:paused}

.modal-close-row{position:sticky;top:-30px;z-index:4;display:flex;justify-content:flex-end;height:0;pointer-events:none}
.modal-close-row>button{position:relative;top:0;right:-20px;flex-shrink:0;pointer-events:auto;box-shadow:0 1px 6px #263c3712}
.photo-dialog .modal-close-row{top:10px;padding-right:10px}
.photo-dialog .modal-close-row>button{right:0}
@media(max-width:650px){.modal-close-row{top:-28px}.modal-close-row>button{right:-12px}}
