:root{--ink:#254a3e;--text:#34483f;--muted:#626d63;--paper:#f8f7f1;--line:#dbddd1;--sage:#e5e9dc;--dark:#153f55;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:106px}body{margin:0;background:var(--paper);color:var(--text);font-family:var(--sans);font-size:1rem;line-height:1.6}body.modal-open{overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button{border:0}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid #977434;outline-offset:5px}button:disabled{opacity:.4;cursor:default}img{display:block;max-width:100%}h1,h2,h3,h4,p{margin:0}h1,h2,h3{font-weight:400;color:var(--ink)}em{font-family:var(--serif);font-weight:400}svg{display:block}.page-width{max-width:1260px;margin:auto;padding-left:48px;padding-right:48px}.skip-link{position:fixed;top:-80px;left:20px;padding:12px 20px;background:var(--ink);color:white;z-index:100}.skip-link:focus{top:10px}.site-header{height:100px;max-width:1440px;margin:auto;padding:0 48px;display:flex;align-items:center;gap:28px;border-bottom:1px solid var(--line);position:relative;z-index:5}.brand{display:flex;align-items:center;gap:13px;font-size:16px;font-weight:600;line-height:1.5}.brand small{display:block;font-size:0.75rem;letter-spacing:1.7px;font-weight:400}.monogram{font-family:var(--serif);font-size:43px;line-height:1;font-weight:400;letter-spacing:-6px;width:46px;padding-bottom:9px}.monogram span{color:#93a479;font-size:42px}.desktop-nav{margin-left:auto;display:flex;align-items:center;gap:31px;font-size:1rem}.desktop-nav a{padding:9px 0;position:relative}.desktop-nav a:after{content:'';position:absolute;height:1px;background:var(--ink);bottom:3px;left:0;right:100%;transition:right .2s}.desktop-nav a:hover:after{right:0}.desktop-nav a span{margin-left:9px}.private-badge{display:flex;align-items:center;gap:6px;font-size:0.8125rem;white-space:nowrap;border:1px solid var(--line);padding:6px 9px;border-radius:4px}.private-badge svg{width:12px;height:14px;fill:none;stroke:currentColor;stroke-width:1.3}.menu-toggle,.mobile-nav{display:none}.hero{padding-top:64px;display:grid;grid-template-columns:1.03fr 1fr;gap:30px 50px}.hero-copy{padding:27px 0 0}.eyebrow{font-size:0.75rem;letter-spacing:1.8px;font-weight:600;line-height:1.5;color:var(--ink)}.hero-copy .eyebrow{display:flex;align-items:center;gap:9px}.small-cross{font-size:19px;line-height:1}h1{font-size:clamp(48px,4.8vw,65px);line-height:1.09;letter-spacing:-2.9px;margin-top:27px}h1 em{display:inline-block;line-height:1.25;color:#658267;letter-spacing:-3.1px}.hero-intro{font-size:17px;line-height:1.75;max-width:453px;margin-top:25px}.hero-description{font-size:1rem;color:var(--muted);line-height:1.85;max-width:413px;margin-top:17px}.primary-button{display:inline-flex;align-items:center;gap:32px;background:var(--ink);color:var(--paper);font-size:1rem;border:1px solid var(--ink);padding:14px 20px;margin-top:27px;transition:background .2s,transform .2s}.primary-button:hover{background:#396250;transform:translateY(-2px)}.primary-button span{font-size:19px;line-height:1}.hero-details{display:flex;align-items:center;gap:17px;margin-top:28px;font-size:0.75rem;color:var(--muted);flex-wrap:wrap}.hero-details>span{display:flex;align-items:center;gap:5px}.hero-details>span+span{border-left:1px solid #aab1a4;padding-left:17px}.hero-details svg{width:11px;height:13px;fill:none;stroke:currentColor;stroke-width:1.3}.hero-visual{background:var(--dark);color:#eef3e8;position:relative;align-self:start;min-width:0;border-radius:3px;overflow:hidden}.map-topline{display:flex;align-items:center;justify-content:space-between;padding:24px 26px 0;font-size:0.75rem;letter-spacing:1.8px;position:relative;z-index:1}.map-topline>span:first-child{display:flex;gap:7px;align-items:center}.map-topline i{width:4px;height:4px;background:#d3deb4;border-radius:50%}.map-topline>span:last-child{color:#a8c0c7;letter-spacing:1px}.hero-map{height:310px;position:relative;overflow:hidden}.hero-map img{width:100%;height:100%;object-fit:cover;transform:scale(1.05)}.hero-map.ocean img{object-fit:contain;transform:none}.map-cross{position:absolute;font-family:monospace;color:#70929c;font-size:20px;font-weight:100}.map-cross-one{left:25px;top:20px}.map-cross-two{right:25px;bottom:20px}.map-north{position:absolute;right:27px;top:46px;font-size:28px;line-height:1;text-align:center;color:#cbd9d3}.map-north small{display:block;font-size:0.75rem;margin-top:8px}.map-bottom{padding:5px 27px 25px;display:flex;align-items:center;justify-content:space-between;gap:10px}.map-location{font-size:0.75rem;letter-spacing:1.6px;color:#aac4cd}.map-bottom h2{color:#f1f1de;font-family:var(--serif);font-size:25px;margin:6px 0 1px;line-height:1.25}.map-bottom p:last-child{font-size:0.8125rem;color:#b1c4c6}.circle-button{border:1px solid #648290;background:none;color:#e3e9d5;border-radius:50%;height:39px;width:39px;font-size:22px;flex-shrink:0;transition:.2s}.circle-button:hover{background:#e3e9d5;color:#153f55}.map-layer-switch{background:#10374c;border-top:1px solid #345869;display:flex;align-items:center;gap:8px;padding:14px 22px}.map-layer-switch button{background:none;color:#b9c9c8;font-size:0.75rem;border:1px solid #496672;border-radius:3px;padding:6px 10px;display:flex;align-items:center;gap:5px}.map-layer-switch button.active{color:#e7f1d8;background:#294f5b;border-color:#809986}.map-layer-switch button span{height:4px;width:4px;border-radius:50%;background:currentColor}.map-layer-switch small{font-size:0.75rem;margin-left:auto;color:#a7b9bf}.hero-footnote{grid-column:1/-1;display:flex;align-items:center;gap:25px;border-top:1px solid var(--line);margin-top:20px;padding:20px 0 23px;font-size:0.75rem;letter-spacing:.7px}.hero-footnote>span:first-child{font-size:0.75rem;letter-spacing:1.5px;font-weight:600}.hero-footnote>span:nth-child(2){color:var(--muted);margin-left:auto}.hero-footnote i{font-style:normal;margin:0 12px;color:#939c8d}.hero-footnote a{font-size:18px;width:25px;text-align:center}.projects-section{background:#efefe7;border-top:1px solid var(--line);padding:76px 0 37px;margin-top:12px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:60px}.section-heading h2{font-size:42px;line-height:1.16;letter-spacing:-1.5px;margin-top:17px}.section-heading h2 em{color:#698069}.section-heading>p{max-width:260px;font-size:1rem;line-height:1.85;color:var(--muted);padding-bottom:5px}.project-toolbar{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d0d5c8;margin-top:37px;padding-bottom:15px;gap:15px}.filter-group{display:flex;gap:5px;flex-wrap:wrap}.filter-group button{padding:7px 14px;background:transparent;color:#5b675c;font-size:0.8125rem;border-radius:3px}.filter-group button.active{background:var(--ink);color:#f8f7ef}.filter-group button:hover:not(.active){background:#e1e5d8}.filter-group button span{margin-left:6px;font-size:0.75rem;opacity:.7}.project-count{font-size:0.75rem;color:var(--muted);white-space:nowrap}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px 28px;margin-top:27px}.project-card[hidden]{display:none}.project-card{min-width:0}.card-open{background:none;display:block;width:100%;text-align:left;padding:0}.project-art{height:265px;position:relative;overflow:hidden;border-radius:3px;background:#e0e5d5}.project-art>img,.project-art>svg{width:100%;height:100%;object-fit:cover;transition:transform .5s}.card-open:hover .project-art>img,.card-open:hover .project-art>svg{transform:scale(1.03)}.art-label{position:absolute;top:22px;left:25px;font-size:0.75rem;letter-spacing:1.6px;z-index:1}.ct-art{background:#e0e6d6}.ct-art .landscape-art{height:220px;position:absolute;top:30px;left:20px;width:100%}.art-bottom{position:absolute;left:26px;bottom:39px;font-family:var(--serif);font-size:24px;color:#304f3d;letter-spacing:-.5px}.art-bottom span{font-size:17px;margin:0 8px;font-family:var(--sans);color:#768d6c}.illustration-note{position:absolute;left:25px;bottom:14px;font-size:0.75rem;z-index:1;color:#5c705d;background:#e0e6d6d9;padding:0 4px 0 0}.card-corner{width:34px;height:34px;border:1px solid currentColor;position:absolute;top:18px;right:21px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:21px;line-height:1;transition:.2s;z-index:2}.card-open:hover .card-corner{background:var(--ink);border-color:var(--ink);color:var(--paper);transform:rotate(45deg)}.agriculture-art{background:var(--dark);color:#dce7d2}.agriculture-art>img{width:100%;height:100%;object-fit:cover;object-position:80%;opacity:.8}.image-art-title{position:absolute;top:105px;left:26px;font-size:26px;line-height:1.15;color:#f0efda;letter-spacing:-.6px}.image-art-title em{font-size:31px}.image-art-note{font-size:0.75rem;position:absolute;bottom:18px;left:26px;letter-spacing:.7px;color:#c9d8d6}.card-copy{padding:21px 2px 23px;border-bottom:1px solid #d4d8ca}.card-meta{font-size:0.75rem;letter-spacing:.9px;color:#667265;display:flex;justify-content:space-between;gap:10px}.card-meta>span:last-child{letter-spacing:0;white-space:nowrap}.card-copy h3{font-size:26px;letter-spacing:-.7px;line-height:1.2;margin-top:13px}.card-copy>p{font-size:1rem;color:var(--muted);line-height:1.8;margin-top:12px;max-width:440px}.card-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:17px}.card-tags span{font-size:0.75rem;padding:3px 7px;border:1px solid #cfd6c7;border-radius:3px;color:#60705d}.ocean-art{background:#356069;color:#ddebdc}.ocean-art>svg{opacity:.9}.ocean-art .image-art-title{top:72px}.ocean-art .illustration-note{background:#356069;color:#c6d4d1}.river-art{background:#e6dfd0;color:#3d5948}.river-art>svg{opacity:.8}.river-art .art-label{background:#e8e5d9e6;padding:4px 7px;top:18px;left:18px}.river-art .illustration-note{background:#e8e5d9e6;color:#5b6956}.work-note{text-align:center;font-size:0.8125rem;color:#687062;padding-top:30px}.work-note span{font-size:1rem;margin-right:6px}.experience-section{padding-top:78px}.experience-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin-top:42px}.subsection-title{border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 0 13px;letter-spacing:1.4px;font-size:0.75rem}.subsection-title>span:last-child{font-size:0.75rem;color:var(--muted)}.teaching h3{font-size:26px;margin-top:22px;letter-spacing:-.7px}.teaching-intro{font-size:1rem;max-width:390px;color:var(--muted);line-height:1.85;margin-top:9px}.timeline{margin-top:24px}.timeline-item{padding:0 0 27px 27px;position:relative;border-left:1px solid #cdd4c3;margin-left:5px}.timeline-item:last-child{padding-bottom:4px;border-color:transparent}.timeline-dot{position:absolute;top:7px;left:-4px;height:7px;width:7px;border-radius:50%;background:#789574;box-shadow:0 0 0 5px var(--paper)}.date{font-size:0.75rem;letter-spacing:1.4px;color:#6a7b64}.timeline h4{font-size:1rem;font-weight:400;line-height:1.3;color:var(--ink);margin:5px 0 8px}.timeline p{font-size:0.875rem;color:var(--muted);line-height:1.8;max-width:350px}.course-code{font-size:0.75rem;letter-spacing:1px;display:inline-block;margin-top:10px;padding:4px 8px;background:#ebeee3}.text-button{font-size:0.875rem;border-bottom:1px solid #9ba78e;padding:4px 0;background:none;margin-top:20px;display:flex;gap:22px}.text-button:hover{color:#80915d}.education-note{margin-top:29px;padding-top:20px;border-top:1px solid var(--line)}.education-note .eyebrow{font-size:0.75rem}.education-note p{margin-top:9px;font-size:0.875rem;line-height:1.9}.education-note p span{color:var(--muted)}.tool-tabs{display:flex;gap:22px;border-bottom:1px solid var(--line);margin-top:15px}.tool-tabs button{padding:9px 0 11px;background:none;font-size:0.8125rem;border-bottom:2px solid transparent;color:var(--muted)}.tool-tabs button[aria-selected=true]{border-color:var(--ink);color:var(--ink)}#tool-panel{padding:18px 0 12px;min-height:179px}.tool-row{display:flex;align-items:start;gap:13px;margin-bottom:13px}.tool-icon{flex-shrink:0;width:31px;height:31px;border:1px solid #ccd3c2;display:flex;align-items:center;justify-content:center;font-size:1rem;color:#68856a;border-radius:5px}.tool-row h4{font-size:1rem;font-weight:400;color:var(--ink)}.tool-row p{font-size:0.8125rem;color:var(--muted);line-height:1.75;margin-top:2px}.all-tools{padding-top:7px}.all-tools>p{font-size:0.75rem;letter-spacing:1.4px;color:#6e7a69;margin-bottom:11px}.all-tools>div{display:flex;gap:7px;flex-wrap:wrap}.all-tools span{padding:5px 10px;font-size:0.8125rem;background:#eceee4;color:#52654c;border:1px solid #e0e3d6;border-radius:3px}.perspective{display:flex;gap:15px;align-items:center;padding:23px;margin-top:28px;background:#e4e9d9}.perspective>span{font-size:32px;color:#79956c}.perspective p{font-family:var(--serif);font-size:19px;font-style:italic;line-height:1.35;color:#526d4d}.contact-band{background:var(--ink);color:#dae4d0;margin-top:70px;padding:40px 42px;display:flex;justify-content:space-between;align-items:center;gap:30px;border-radius:3px}.contact-band .eyebrow{color:#b9c9a6;font-size:0.75rem}.contact-band h3{font-size:33px;color:#f2f3e6;line-height:1.15;letter-spacing:-.9px;margin-top:13px}.contact-band h3 em{color:#c0d0a8}.contact-band p:last-child{font-size:0.8125rem;max-width:320px;color:#b8cabb;margin-top:15px;line-height:1.8}.contact-links{display:flex;flex-direction:column;gap:17px;width:280px;flex-shrink:0}.contact-links a{font-size:1rem;border-bottom:1px solid #637f67;display:flex;justify-content:space-between;padding:6px 0 10px}.contact-links a:hover{color:white}.contact-links a span{font-size:18px;line-height:1}footer{display:flex;align-items:center;gap:22px;padding-top:30px!important;padding-bottom:32px!important;font-size:0.75rem;color:#687360}footer>span:nth-child(2){margin-left:auto}footer a{margin-left:10px}.footer-private{font-size:0.75rem}dialog{padding:0;border:1px solid #d4d9cc;border-radius:8px;background:var(--paper);color:var(--text);width:min(1050px,calc(100% - 48px));max-height:90dvh;box-shadow:0 20px 90px #102b3055;overscroll-behavior:contain}dialog::backdrop{background:#152e2acc;backdrop-filter:blur(5px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;padding:15px 30px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--paper);z-index:4}.dialog-top .eyebrow{font-size:0.75rem}.dialog-close{height:34px;width:34px;border:1px solid #ccd4c5;background:none;border-radius:50%;font-size:25px;line-height:1}.dialog-close:hover{background:var(--ink);color:var(--paper)}#dialog-content{padding:28px 38px 38px}.dialog-title{font-size:38px;line-height:1.14;letter-spacing:-1.2px;max-width:780px}.dialog-lead{font-size:1rem;color:var(--muted);margin-top:15px;max-width:760px;line-height:1.85}.dialog-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;background:#e9eddf;padding:17px 20px;margin:24px 0}.dialog-facts dt{font-size:0.75rem;letter-spacing:1.4px;color:#6a7a63;margin-bottom:5px}.dialog-facts dd{margin:0;font-size:0.875rem}.case-tabs{display:flex;gap:27px;border-bottom:1px solid #cdd5c3;margin-top:18px}.case-tabs button{background:none;font-size:1rem;padding:10px 0;border-bottom:2px solid transparent;color:var(--muted)}.case-tabs button[aria-selected=true]{border-color:var(--ink);color:var(--ink)}.case-panel{padding-top:24px;min-height:240px}.case-panel[hidden]{display:none}.case-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:37px}.case-panel h3{font-size:22px;font-family:var(--serif);line-height:1.3;margin:0 0 12px}.case-panel h4{font-size:1rem;font-weight:600;margin-bottom:8px;color:var(--ink)}.case-panel p{font-size:1rem;line-height:1.9;color:#5e6c5e;margin-bottom:16px}.case-panel ul{padding-left:17px;font-size:1rem;line-height:1.85;color:#5e6c5e;margin:0 0 20px}.case-panel li+li{margin-top:7px}.case-aside{background:#eef0e7;padding:22px;border-left:2px solid #93aa80}.case-aside p:last-child{margin-bottom:0}.evidence-note{font-size:0.8125rem!important;line-height:1.8!important;border-top:1px solid var(--line);padding-top:13px;margin-top:24px;margin-bottom:0!important;color:#75816c!important}.credit{font-size:0.8125rem!important;margin-top:17px!important;color:#6d7f64!important}.map-viewer{background:#153f55;border-radius:3px;overflow:hidden}.viewer-toolbar{display:flex;gap:6px;padding:12px;background:#10374c;align-items:center;flex-wrap:wrap}.viewer-toolbar button{background:#254f61;border:1px solid #577682;color:#edf1de;border-radius:3px;font-size:1rem;min-width:31px;height:30px;padding:3px 9px}.viewer-toolbar label{font-size:0.8125rem;color:#d9e3d8;display:flex;align-items:center;gap:6px;margin-left:auto}.viewer-toolbar select{font:inherit;max-width:190px;background:#254f61;color:#edf1de;border:1px solid #577682;border-radius:3px;height:30px;padding:3px 7px}.zoom-label{color:#d3ded8;font-size:0.75rem;padding:0 8px}.map-viewport{height:420px;overflow:hidden;position:relative;touch-action:none;cursor:grab;outline-offset:-4px!important}.map-viewport.dragging{cursor:grabbing}.map-viewport>img{position:absolute;width:100%;height:100%;object-fit:contain;transform-origin:center;max-width:none;user-select:none;pointer-events:none}.map-help{color:#c1d5d8!important;background:#10374c;padding:8px 13px!important;font-size:0.75rem!important;margin:0!important}.map-caption{margin-top:15px}.method-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.method-step{border:1px solid #d5dcce;padding:20px}.method-step>span{font-size:0.8125rem;color:#8a9b7a;display:block;margin-bottom:10px}.method-step h4{font-size:1rem}.method-step p{font-size:0.875rem;margin:0}.pending-map{padding:28px;background:#e5eadb;border:1px solid #cbd5be}.pending-map h3{margin-top:12px}.pending-map .mini-label{font-size:0.75rem;letter-spacing:1.6px}.concept-flow{display:flex;gap:15px;align-items:center;margin:20px 0 25px;flex-wrap:wrap}.concept-flow span{padding:15px;border:1px solid #b1bea3;background:#f4f5ed;font-size:0.875rem}.concept-flow i{font-size:18px;font-style:normal;color:#839571}.noscript-note{padding:20px;text-align:center;font-size:1rem;border-top:1px solid #bbb}
@media (min-width:1500px){.site-header{max-width:1260px}.hero{padding-top:70px}.hero-map{height:330px}}
@media (max-width:1050px){.page-width{padding-left:32px;padding-right:32px}.site-header{padding:0 32px;gap:20px}.desktop-nav{gap:19px}.private-badge{font-size:0.75rem}.hero{column-gap:30px}.hero-copy{padding-top:12px}h1{font-size:51px}.hero-intro{font-size:1rem}.hero-description{font-size:0.875rem}.hero-details{font-size:0.75rem;gap:8px}.hero-details>span+span{padding-left:8px}.hero-map{height:296px}.map-bottom h2{font-size:22px}.map-layer-switch{padding:12px 16px}.map-layer-switch small{font-size:0.75rem}.experience-grid{gap:37px}.card-copy h3{font-size:23px}.art-bottom{font-size:21px}.contact-links{width:250px}.footer-private{display:none}}
@media (max-width:800px){html{scroll-padding-top:25px}.site-header{height:80px;gap:15px}.brand{font-size:1rem}.brand small{font-size:0.75rem}.monogram{font-size:38px;width:40px}.desktop-nav{display:none}.private-badge{margin-left:auto}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:34px;height:34px;background:none}.menu-toggle span{height:1px;width:21px;background:var(--ink)}.mobile-nav:not([hidden]){position:absolute;top:79px;left:0;right:0;display:flex;flex-direction:column;padding:15px 32px 23px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 20px 25px #32443014}.mobile-nav a{padding:10px 0;font-size:1rem}.hero{padding-top:36px;grid-template-columns:1fr;gap:30px}.hero-copy{padding-top:0}.hero-copy h1{font-size:60px}.hero-intro{font-size:16px;max-width:560px;margin-top:19px}.hero-description{max-width:550px;font-size:1rem}.hero-details{font-size:0.8125rem;margin-top:24px;gap:15px}.hero-details>span+span{padding-left:15px}.hero-visual{margin-top:8px}.hero-map{height:330px}.hero-map img{object-fit:contain;transform:scale(1.45)}.hero-map.ocean img{transform:scale(1)}.map-bottom h2{font-size:27px}.hero-footnote{margin-top:0;font-size:0.75rem;gap:15px}.hero-footnote>span:first-child{font-size:0.75rem;letter-spacing:1px}.hero-footnote i{margin:0 5px}.projects-section{margin-top:0;padding-top:48px}.section-heading{gap:25px}.section-heading h2{font-size:34px}.section-heading>p{font-size:0.875rem;max-width:210px}.project-art{height:225px}.project-grid{gap:27px 20px}.card-meta{font-size:0.75rem;flex-direction:column;gap:4px}.card-copy h3{font-size:22px}.card-copy p{font-size:0.875rem}.card-tags{gap:5px}.card-tags span{font-size:0.75rem}.art-label{font-size:0.75rem;left:18px;letter-spacing:1px;max-width:205px;line-height:1.6}.card-corner{right:14px;top:16px;width:29px;height:29px;font-size:18px}.ct-art .landscape-art{left:0;top:20px}.art-bottom{font-size:19px;left:18px;max-width:210px;line-height:1.2;bottom:36px}.art-bottom span{font-size:1rem;margin:0 3px}.illustration-note{left:18px;font-size:0.75rem;right:10px}.image-art-title{left:18px;font-size:23px;top:94px}.image-art-title em{font-size:28px}.image-art-note{left:18px;font-size:0.75rem}.filter-group button{font-size:0.75rem;padding:6px 10px}.project-count{font-size:0.75rem}.experience-section{padding-top:49px}.experience-grid{grid-template-columns:1fr;gap:38px;margin-top:30px}.teaching-intro{max-width:100%}.timeline p{max-width:100%}#tool-panel{min-height:175px}.all-tools span{font-size:0.875rem}.contact-band{margin-top:40px;padding:30px;gap:30px;align-items:flex-start;flex-direction:column}.contact-links{width:100%;max-width:420px}.contact-links a{font-size:1rem}footer{gap:15px;flex-wrap:wrap}footer>span:nth-child(2){margin-left:auto}.dialog-title{font-size:31px}#dialog-content{padding:24px}.case-grid{gap:20px}.method-steps{grid-template-columns:1fr}.map-viewport{height:350px}}
@media (max-width:520px){.page-width{padding-left:22px;padding-right:22px}.site-header{padding:0 22px}.brand{font-size:1rem;gap:8px}.brand small{font-size:0.75rem;letter-spacing:1.3px}.monogram{width:34px;font-size:36px}.private-badge{font-size:0.75rem;padding:5px 6px;gap:4px}.private-badge svg{width:10px}.site-header{gap:8px}.menu-toggle{width:29px}.hero{padding-top:33px;gap:24px}.hero-copy .eyebrow{font-size:0.75rem;letter-spacing:1.4px}.hero-copy h1{font-size:47px;letter-spacing:-2.1px;margin-top:23px}.hero-copy h1 em{letter-spacing:-2px}.hero-intro{font-size:1rem;line-height:1.85;margin-top:17px}.hero-description{font-size:0.875rem;line-height:1.9;margin-top:13px}.primary-button{margin-top:23px;font-size:0.875rem;padding:13px 18px;gap:37px}.hero-details{font-size:0.75rem;gap:9px;margin-top:24px}.hero-details>span+span{padding-left:9px}.hero-map{height:253px}.map-topline{font-size:0.75rem;padding:21px 21px 0}.map-bottom{padding:8px 21px 22px}.map-bottom h2{font-size:23px}.map-location{font-size:0.75rem}.map-bottom p:last-child{font-size:0.75rem}.map-layer-switch{gap:6px;padding:12px 16px}.map-layer-switch button{font-size:0.75rem;padding:5px 8px}.map-layer-switch small{font-size:0.75rem}.map-cross-one{left:20px}.map-cross-two{right:21px}.map-north{right:21px;top:30px}.hero-footnote{padding-top:17px;padding-bottom:20px;gap:8px;flex-wrap:wrap}.hero-footnote>span:first-child{font-size:0.75rem;letter-spacing:.8px}.hero-footnote>span:nth-child(2){font-size:0.75rem}.hero-footnote>a{display:none}.section-heading{align-items:flex-start;flex-direction:column;gap:18px}.section-heading h2{font-size:34px;letter-spacing:-1.2px;margin-top:14px}.section-heading>.eyebrow{font-size:0.75rem}.section-heading>p{max-width:310px;font-size:0.875rem;padding:0}.project-toolbar{margin-top:25px;gap:10px;padding-bottom:13px;align-items:flex-end}.filter-group{gap:4px}.filter-group button{font-size:0.75rem;padding:7px 9px}.project-count{display:none}.project-grid{grid-template-columns:1fr;gap:26px;margin-top:22px}.project-art{height:244px}.art-label{font-size:0.75rem;max-width:250px;left:23px;top:23px}.card-corner{right:20px;top:20px;width:32px;height:32px}.ct-art .landscape-art{top:15px}.art-bottom{font-size:24px;left:23px;max-width:none;bottom:36px}.art-bottom span{font-size:17px;margin:0 6px}.illustration-note{font-size:0.75rem;left:23px}.image-art-title{left:23px;top:100px;font-size:25px}.image-art-title em{font-size:30px}.image-art-note{left:23px}.card-copy{padding-top:17px;padding-bottom:22px}.card-meta{font-size:0.75rem;flex-direction:row}.card-copy h3{font-size:26px;margin-top:12px}.card-copy p{font-size:1rem}.card-tags span{font-size:0.75rem}.work-note{font-size:0.75rem;padding-top:25px}.experience-grid{margin-top:30px;gap:35px}.teaching h3{font-size:26px}.timeline p{font-size:1rem}.timeline h4{font-size:1rem}.subsection-title{font-size:0.75rem}.tool-tabs{gap:25px}.tool-tabs button{font-size:0.875rem}.tool-row h4{font-size:1rem}.tool-row p{font-size:0.875rem}.perspective{padding:20px}.perspective p{font-size:20px}.contact-band{padding:29px 24px;margin-top:38px;gap:25px}.contact-band h3{font-size:32px}.contact-links a{font-size:1rem}footer{font-size:0.75rem;gap:13px;justify-content:space-between}footer>span:nth-child(2){display:none}footer a{margin:0}dialog{width:calc(100% - 18px);max-height:95dvh;border-radius:5px}.dialog-top{padding:10px 18px}#dialog-content{padding:20px 19px 28px}.dialog-title{font-size:28px;letter-spacing:-.8px}.dialog-lead{font-size:1rem;line-height:1.85}.dialog-facts{grid-template-columns:1fr;gap:12px;padding:15px;margin:19px 0}.dialog-facts>div{display:grid;grid-template-columns:75px 1fr;gap:10px}.dialog-facts dt{font-size:0.75rem;margin:2px 0 0}.dialog-facts dd{font-size:0.8125rem}.case-tabs{gap:20px}.case-tabs button{font-size:0.875rem;padding:10px 0}.case-grid{grid-template-columns:1fr;gap:18px}.case-panel h3{font-size:22px}.case-aside{padding:18px}.map-viewport{height:310px}.viewer-toolbar{padding:8px;gap:5px}.viewer-toolbar label{margin-left:0;width:100%;margin-top:3px}.viewer-toolbar select{flex:1;max-width:none}.zoom-label{margin-left:auto}.map-help{font-size:0.75rem!important}.pending-map{padding:19px}.concept-flow{gap:8px}.concept-flow span{font-size:0.8125rem;padding:10px}.concept-flow i{font-size:1rem}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* The original scientific image is unchanged. Frame only its blank right margin. */
.map-viewport:has(.landcover-sheet){display:flex;justify-content:center;background:#fff}
.map-viewport>img.landcover-sheet{position:relative;width:auto;height:100%;aspect-ratio:830 / 1249;object-fit:cover;object-position:left top;flex:none}
img,.project-art,.hero-map,.map-viewport{-webkit-touch-callout:none;-webkit-user-drag:none;user-select:none}
.image-use-note{display:inline-block;font-size:0.8125rem;color:#6a7a63;margin-top:3px}
.card-meta .review-status{color:#45623e;font-weight:600}
.ct-map-art{background:#fff}
.ct-map-art .ct-map-preview{position:absolute;width:100%;height:calc(100% - 40px);top:25px;left:0}
.ct-map-art .art-label{top:15px;left:18px;padding:5px 7px;background:#f3f5ebed;border:1px solid #d8dfcb;font-size:0.75rem}
.ct-map-credit{position:absolute;left:18px;bottom:9px;font-size:0.75rem;letter-spacing:.1px;color:#5d6d59;background:#ffffffed;padding:3px 5px}
.ct-map-art .card-corner{background:#f3f5ebed}
@media (max-width:520px){.ct-map-art .art-label{font-size:0.75rem}.ct-map-credit{font-size:0.75rem}}

/* Farahzad: the published framework and spatial evidence share one research story. */
.river-research-art{background:#fff}
.river-research-art>img{position:absolute;left:0;top:34px;width:100%;height:calc(100% - 58px);object-fit:contain}
.river-research-art .art-label{top:12px;left:18px;font-size:0.8125rem;letter-spacing:.8px}
.river-research-art .card-corner{background:#f3f5ebed}
.river-map-credit{position:absolute;left:18px;bottom:8px;font-size:0.8125rem;color:#5d6d59}
.river-case .dialog-facts dd{font-size:1rem}
.river-case .dialog-facts dt{font-size:1rem;letter-spacing:.5px}
.river-case .case-tabs{gap:24px}
.river-case .case-tabs button{font-size:1rem}
.river-case .dialog-lead,.river-case .case-panel p,.river-case .case-panel li{font-size:16px;line-height:1.7}
.river-case .case-panel h4{font-size:18px;line-height:1.35}
.river-case .case-panel .credit,.river-case .case-panel .publication-credit{font-size:1rem;line-height:1.7}
.river-case .map-viewport{height:560px;background:#fff}
.river-case .viewer-toolbar label,.river-case .viewer-toolbar select,.river-case .viewer-toolbar button{font-size:1rem}
.river-case .viewer-toolbar select{max-width:370px}
.river-case .viewer-toolbar button{min-width:36px;min-height:36px}
.river-case .case-panel .map-help{font-size:1rem!important}
.river-case .case-panel #map-caption{font-size:1rem}
.framework-section{padding:28px;background:#153e46;color:#f7f8f0;margin:28px 0}
.framework-section .framework-eyebrow{font-size:1rem;letter-spacing:1.5px;color:#c9dfd7;margin:0 0 12px}
.framework-section h3{color:#f7f8f0}
.framework-section p{color:#e0ebe5}
.framework-levels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0}
.framework-levels article{padding:18px;background:#ffffff0b;border-top:3px solid #c8d5ac;min-width:0}
.framework-levels article:nth-child(2){border-color:#dfb176}
.framework-levels article:nth-child(3){border-color:#99c5cc}
.framework-number{font-size:1rem;line-height:1.6;display:block;color:#dce7e1;letter-spacing:.4px}
.framework-levels h4{color:#fff;margin:15px 0 12px;overflow-wrap:anywhere}
.framework-levels .framework-question{padding-top:13px;border-top:1px solid #ffffff35;margin-top:16px;font-style:italic}
.river-case .framework-connection{font-size:1rem;color:#dce7e1;margin-bottom:20px}
.figure-jump{padding:12px 16px;border:1px solid #7b9689;background:transparent;color:#254f3d;font-size:1rem;line-height:1.5;text-align:left;cursor:pointer}
.figure-jump span{padding-left:10px}
.framework-section .figure-jump{border-color:#b2c8bf;color:#fff}
.figure-jump:hover{background:#254f3d0d}
.framework-section .figure-jump:hover{background:#ffffff16}
.research-outcomes{margin-top:30px}
.publication-credit{border-top:1px solid var(--line);padding-top:20px;margin-top:24px}
.publication-credit a{display:inline-block;text-decoration:underline;text-underline-offset:3px;margin-top:8px}
.study-tools{margin:26px 0;padding:18px 20px;background:#e9eddf}
.study-tools p{margin-bottom:0}
.planning-table-wrap{overflow-x:auto;margin-top:16px}
.planning-table{border-collapse:collapse;width:100%;font-size:1rem;line-height:1.65;text-align:left}
.planning-table caption{text-align:left;font-size:1rem;padding:0 0 12px;color:#52685d}
.planning-table th,.planning-table td{vertical-align:top;padding:14px 12px;border-bottom:1px solid #cbd2c4}
.planning-table thead{background:#e9eddf}
.planning-table tbody th{width:24%;font-weight:600}
.river-case .method-step>span{font-size:1rem;letter-spacing:.5px}
@media (max-width:800px){.framework-levels{grid-template-columns:1fr}.framework-section{padding:22px}.river-case .case-grid{grid-template-columns:1fr}.river-case .map-viewport{height:450px}.river-case .viewer-toolbar label{width:100%;margin-left:0}.river-case .viewer-toolbar select{flex:1;max-width:100%;min-width:0}.river-case .dialog-facts{grid-template-columns:1fr}.river-case .dialog-facts>div{display:block}}
@media (max-width:520px){.river-case .dialog-title{font-size:29px;line-height:1.15}.river-case .case-tabs{gap:14px}.river-case .case-tabs button{font-size:1rem}.framework-section{padding:20px 16px}.river-case .dialog-facts dd{font-size:1rem}.river-case .map-viewport{height:390px}.planning-table{font-size:1rem}.planning-table th,.planning-table td{padding:10px 7px;overflow-wrap:anywhere}.river-map-credit,.river-research-art .art-label{font-size:0.75rem}.river-case .viewer-toolbar{flex-wrap:wrap}}

/* Tehran metropolitan heat study: selected publisher figures are presented in a view-only case study. */
.tehran-heat-art{background:#fff;color:#edf1df;border:1px solid #d2d9d0}
.tehran-heat-art>img{position:absolute;left:0;top:34px;width:100%;height:calc(100% - 58px);object-fit:contain;object-position:center}
.tehran-heat-art .art-label{top:15px;left:18px;background:#273e45e8;padding:4px 7px;font-size:0.75rem;letter-spacing:.8px}
.tehran-heat-art .card-corner{background:#273e45e8}
.tehran-heat-credit{position:absolute;left:18px;bottom:8px;font-size:0.75rem;color:#d2dfd3;background:#273e45e8;padding:2px 5px}
.research-case .dialog-facts dd{font-size:1rem}
.research-case .dialog-facts dt{font-size:1rem;letter-spacing:.5px}
.research-case .case-tabs{gap:24px}
.research-case .case-tabs button{font-size:1rem}
.research-case .dialog-lead,.research-case .case-panel p,.research-case .case-panel li{font-size:16px;line-height:1.7}
.research-case .case-panel h4{font-size:18px;line-height:1.35}
.research-case .case-panel .credit,.research-case .case-panel .publication-credit{font-size:1rem;line-height:1.7}
.research-case .map-viewport{height:560px;background:#fff}
.research-case .viewer-toolbar label,.research-case .viewer-toolbar select,.research-case .viewer-toolbar button{font-size:1rem}
.research-case .viewer-toolbar select{max-width:370px}
.research-case .viewer-toolbar button{min-width:36px;min-height:36px}
.research-case .case-panel .map-help{font-size:1rem!important}
.research-case .case-panel #map-caption{font-size:1rem}
.research-case .framework-connection{font-size:1rem;color:#dce7e1;margin-bottom:20px}
.research-case .method-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
.map-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0 24px}
.map-choice{min-width:0;padding:10px;background:#fff;border:2px solid #ccd5c7;border-radius:4px;text-align:left;display:flex;flex-direction:column;gap:9px}
.map-choice img{width:100%;height:115px;object-fit:contain;background:#fff}
.map-choice span{font-size:1rem;line-height:1.4;font-weight:600;color:#254a3e}
.map-choice[aria-pressed=true]{border-color:#254a3e;background:#e7eee1;box-shadow:inset 0 -3px #254a3e}
.map-choice:hover{border-color:#527866}
.heat-map-overview{margin:28px 0}
.heat-map-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.heat-map-link{padding:0;border:1px solid #cbd4c5;background:#fff;text-align:left;border-radius:4px;overflow:hidden}
.heat-map-link img{height:320px;width:100%;object-fit:contain;padding:12px}
.heat-map-link>span{display:block;padding:14px 16px;background:#e9eddf}
.heat-map-link strong{display:block;font-size:16px;font-weight:600}
.heat-map-link small{display:block;font-size:1rem;margin-top:5px;line-height:1.5}
.heat-map-link:hover{border-color:#254a3e}
.research-diagram{margin:24px 0}
.research-diagram img{width:100%;max-width:820px;margin:auto;background:#fff;padding:12px}
.research-diagram figcaption{font-size:1rem;line-height:1.7;margin:16px 0;color:#5e6c5e}
.research-case .case-tabs{gap:20px;flex-wrap:wrap}
.research-case .case-panel .evidence-note{font-size:1rem!important}
@media (max-width:520px){.map-choices{grid-template-columns:1fr;gap:8px}.map-choice{display:grid;grid-template-columns:82px 1fr;align-items:center;padding:7px}.map-choice img{height:66px}.map-choice span{font-size:1rem}.heat-map-links{grid-template-columns:1fr}.heat-map-link img{height:300px}.research-case .case-tabs{gap:14px}.research-case .case-tabs button{font-size:1rem}.tehran-heat-art .art-label{right:54px;max-width:none}}
@media (max-width:800px){.research-case .case-grid{grid-template-columns:1fr}.research-case .map-viewport{height:450px}.research-case .viewer-toolbar label{width:100%;margin-left:0}.research-case .viewer-toolbar select{flex:1;max-width:100%;min-width:0}.research-case .dialog-facts{grid-template-columns:1fr}.research-case .dialog-facts>div{display:block}.research-case .method-steps{grid-template-columns:1fr}}
@media (max-width:520px){.research-case .dialog-title{font-size:29px;line-height:1.15}.research-case .case-tabs{gap:14px}.research-case .case-tabs button{font-size:1rem}.research-case .dialog-facts dd{font-size:1rem}.research-case .map-viewport{height:390px}.research-case .viewer-toolbar{flex-wrap:wrap}.tehran-heat-credit,.tehran-heat-art .art-label{font-size:0.75rem}}

/* Heritage waterways: original GIS zoning outputs. */
.isfahan-art{background:#fff;color:#314b50;border:1px solid #d0d8d1}
.isfahan-art>img{position:absolute;top:32px;left:0;width:100%;height:calc(100% - 55px);object-fit:contain}
.isfahan-art .art-label{left:16px;top:10px;font-size:0.75rem;letter-spacing:.7px;background:#f8f7f1ed;padding:4px 7px;max-width:calc(100% - 78px)}
.isfahan-art .card-corner{background:#f8f7f1ed}
.isfahan-map-credit{position:absolute;left:18px;bottom:7px;font-size:0.75rem;color:#52695c;background:#fffffff0;padding:2px 4px}
.isfahan-case .map-choices{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.isfahan-case .map-choice{padding:7px}
.isfahan-case .map-choice img{height:80px}
.isfahan-case .map-choice span{font-size:1rem}
.isfahan-case .map-viewport{height:640px}
.isfahan-case .method-steps{grid-template-columns:repeat(3,minmax(0,1fr))}
.isfahan-case .framework-levels article{display:flex;flex-direction:column}
.isfahan-case .framework-levels .figure-jump{margin-top:auto;font-size:1rem}
@media (max-width:800px){.isfahan-case .map-choices{grid-template-columns:repeat(3,minmax(0,1fr))}.isfahan-case .map-viewport{height:480px}.isfahan-case .method-steps{grid-template-columns:1fr}}
@media (max-width:520px){.isfahan-case .map-choices{grid-template-columns:1fr}.isfahan-case .map-choice{grid-template-columns:56px 1fr;gap:9px;padding:6px}.isfahan-case .map-choice img{height:40px}.isfahan-case .map-choice span{font-size:1rem}.isfahan-case .map-viewport{height:330px}.isfahan-map-credit,.isfahan-art .art-label{font-size:0.75rem}}

/* Independent corridor study: the original temporal maps lead the case. */
.independent-project{grid-column:1/-1}
.independent-project .card-open{display:grid;grid-template-columns:1.08fr 1fr;gap:32px;align-items:center}
.shemiranat-art{background:#fff;color:#314b50;border:1px solid #d0d8d1;height:360px}
.shemiranat-art>img{position:absolute;top:42px;left:0;width:100%;height:calc(100% - 72px);object-fit:contain}
.shemiranat-art .art-label{left:14px;top:10px;font-size:0.8125rem;letter-spacing:.6px;background:#f8f7f1ed;padding:4px 7px;max-width:calc(100% - 78px)}
.shemiranat-art .card-corner{background:#f8f7f1ed}
.shemiranat-map-credit{position:absolute;left:16px;bottom:8px;font-size:0.8125rem;color:#52695c;background:#fffffff0;padding:2px 4px}
.independent-project .card-copy p{font-size:16px}
.independent-project .card-meta{flex-wrap:wrap;gap:8px;font-size:0.875rem}
.independent-project .card-tags span{font-size:1rem}
.shemiranat-case .map-choices{grid-template-columns:repeat(2,minmax(0,1fr))}
.shemiranat-case .map-choice{display:grid;grid-template-columns:90px 1fr;align-items:center}
.shemiranat-case .map-choice img{height:64px}
.shemiranat-case .map-viewport{height:640px}
.shemiranat-case .research-diagram img{max-width:750px}
@media (max-width:800px){.independent-project .card-open{grid-template-columns:1fr;gap:0}.shemiranat-art{height:360px}.shemiranat-case .map-viewport{height:440px}}
@media (max-width:520px){.shemiranat-art{height:260px}.shemiranat-art .art-label{font-size:0.75rem}.shemiranat-map-credit{font-size:0.75rem}.shemiranat-case .map-choices{grid-template-columns:1fr}.shemiranat-case .map-viewport{height:330px}.independent-project .card-meta{font-size:0.8125rem}.shemiranat-case .map-choice{grid-template-columns:70px 1fr}}


/* Readable type and concise career / education overview (September 2026). */
.hero-intro { font-size: 1.125rem; }
.hero-description, .section-heading > p, .card-copy > p,
.timeline p, .tool-row p, .contact-band p:last-child,
.dialog-lead, .case-panel p, .case-panel ul, .case-panel li,
.method-step p { font-size: 1rem; line-height: 1.75; }
.hero-description { max-width: 460px; }
.section-heading > p { max-width: 320px; }
.desktop-nav { font-size: .9375rem; }
.brand { flex-shrink: 0; }
.brand small { font-size: .75rem; letter-spacing: 1.2px; }
.hero-copy .eyebrow { font-size: .75rem; }
.primary-button, .text-button, .tool-tabs button,
.case-tabs button, .river-case .case-tabs button,
.research-case .case-tabs button { font-size: .9375rem; }
.hero-details, .map-layer-switch button, .filter-group button,
.project-count, .work-note, .all-tools span { font-size: .875rem; }
.map-layer-switch { flex-wrap: wrap; }
.map-layer-switch small { margin-left: 0; }
.hero-footnote { flex-wrap: wrap; }
.project-toolbar { flex-wrap: wrap; align-items: center; }
.filter-group { flex-wrap: wrap; }
.filter-group button { min-height: 40px; }
.card-meta, .independent-project .card-meta { font-size: .75rem; flex-wrap: wrap; letter-spacing: .5px; }
.card-meta > span { white-space: normal; }
.card-tags span, .independent-project .card-tags span { font-size: .8125rem; }
.project-art .art-label { font-size: .75rem; max-width: calc(100% - 88px); line-height: 1.5; letter-spacing: .5px; }
.ct-map-credit, .river-map-credit, .tehran-heat-credit, .isfahan-map-credit,
.shemiranat-map-credit, .illustration-note, .image-art-note {
  font-size: .75rem; max-width: calc(100% - 36px); line-height: 1.5;
}
.experience-grid { grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr); gap: 60px; }
.experience-grid > *, .tool-row > div, .contact-band > div { min-width: 0; }
.subsection-title { font-family: var(--sans); font-weight: 600; font-size: .75rem; line-height: 1.7; gap: 12px; letter-spacing: 1.2px; }
.subsection-title > span:last-child { font-size: .75rem; }
.career-timeline, .education-list { list-style: none; padding: 0; }
.career-timeline { margin-bottom: 0; }
.career-timeline .timeline-item { padding-bottom: 30px; padding-left: 25px; }
.career-timeline .timeline-item:last-child { padding-bottom: 0; }
.career-timeline .date, .education-list .date { font-size: .75rem; letter-spacing: .8px; }
.career-timeline h4, .education-list h4 { font-family: var(--sans); font-size: 1.125rem; font-weight: 600; line-height: 1.45; letter-spacing: -.2px; margin: 7px 0 6px; color: var(--ink); }
.career-timeline p { max-width: none; }
.career-timeline .career-organization { color: var(--ink); font-size: .9375rem; line-height: 1.6; }
.career-timeline .career-context { font-size: .875rem; line-height: 1.65; margin: 4px 0 10px; }
.career-timeline .text-button { margin-top: 12px; gap: 14px; text-align: left; align-items: center; }
.education-list { margin: 20px 0 0; }
.education-list li { padding: 0 0 18px; margin-bottom: 18px; border-bottom: 1px solid var(--line); }
.education-list li:last-child { border-bottom: 0; margin-bottom: 0; padding-bottom: 0; }
.education-list p { color: var(--muted); font-size: .9375rem; line-height: 1.6; }
.study-status { display: inline-block; margin-top: 9px; padding: 3px 9px; font-size: .8125rem; color: var(--ink); background: #e6ecd9; border-radius: 3px; }
.career-sidebar .toolkit { margin-top: 36px; }
.tool-tabs { gap: 20px; flex-wrap: wrap; }
.tool-row h4 { font-size: 1rem; font-weight: 600; }
.all-tools > p { font-size: .75rem; }
.contact-band .eyebrow { font-size: .75rem; }
.contact-links { width: 300px; max-width: 100%; }
.contact-links a { font-size: .9375rem; gap: 12px; overflow-wrap: anywhere; }
.contact-links a span { flex-shrink: 0; }
.contact-band p:last-child { max-width: 420px; }
footer { font-size: .8125rem; }
.dialog-top { gap: 16px; }
.dialog-top .eyebrow { font-size: .75rem; }
.dialog-close { flex-shrink: 0; }
.dialog-facts dt { font-size: .75rem; letter-spacing: .6px; }
.dialog-facts dd { font-size: .9375rem; line-height: 1.6; }
.case-tabs { flex-wrap: wrap; gap: 10px 24px; }
.case-panel h4 { font-size: 1.125rem; }
.case-panel .evidence-note, .research-case .case-panel .evidence-note,
.case-panel .credit, .river-case .case-panel .credit,
.research-case .case-panel .credit { font-size: .875rem!important; }
.case-panel .map-help, .river-case .case-panel .map-help,
.research-case .case-panel .map-help { font-size: .8125rem!important; line-height: 1.65; }
.viewer-toolbar { flex-wrap: wrap; }
.viewer-toolbar button, .river-case .viewer-toolbar button,
.research-case .viewer-toolbar button { min-height: 36px; height: auto; font-size: .9375rem; }
.viewer-toolbar label { min-width: 0; }
.viewer-toolbar select { font-size: .875rem; min-width: 0; }
.zoom-label, .image-use-note { font-size: .8125rem; }
.isfahan-case .map-choice span { font-size: .875rem; }
@media (max-width: 1050px) {
  .experience-grid { gap: 36px; }
  .desktop-nav { gap: 18px; font-size: .875rem; }
}
@media (max-width: 800px) {
  .menu-toggle { margin-left: auto; flex-shrink: 0; min-width: 40px; min-height: 40px; }
  .experience-grid { grid-template-columns: 1fr; gap: 36px; }
  .section-heading > p { max-width: 270px; }
  .card-meta { flex-direction: column; }
  .contact-links { width: 100%; max-width: 420px; }
  .dialog-facts { grid-template-columns: 1fr; }
  .dialog-facts > div { display: block; }
}
@media (max-width: 620px) {
  .project-grid { grid-template-columns: 1fr; }
  .section-heading { align-items: flex-start; flex-direction: column; gap: 18px; }
  .section-heading > p { max-width: 100%; }
  .case-grid { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
  .brand small { letter-spacing: .7px; }
  .map-layer-switch small { flex-basis: 100%; }
  .map-bottom { gap: 12px; }
  .project-count { display: block; }
  .project-art .art-label { left: 16px; }
  .card-meta { flex-direction: row; }
  .card-copy h3 { font-size: 26px; }
  .tool-tabs { gap: 18px; }
  .contact-band { padding: 28px 20px; }
  .contact-links a { font-size: .875rem; }
  .dialog-facts > div { grid-template-columns: none; }
  .case-tabs { gap: 8px 18px; }
}
