@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&family=Open+Sans:wght@700&display=swap');
:root{--paper:#f6f3ed;--ink:#24241f;--muted:#6c6a62;--orange:#b6572b;--line:#ccc8bd;--serif:'Libre Caslon Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:3px solid var(--orange);outline-offset:7px}img{display:block;width:100%;height:auto}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}p{line-height:1.7}.skip{position:fixed;top:-100px;left:20px;z-index:100;background:var(--ink);color:white;padding:15px}.skip:focus{top:15px}.site-header{display:flex;align-items:center;justify-content:space-between;padding:26px 5%;border-bottom:1px solid var(--line);gap:25px}.brand{display:flex;gap:12px;align-items:center;font-size:18px;letter-spacing:2px}.brand-symbol{position:relative;font:42px var(--serif);letter-spacing:-5px;padding-right:13px}.brand-symbol>span{position:absolute;right:-1px;top:-2px;font:24px var(--sans);color:var(--orange)}.brand-sub{display:block;font-size:8px;letter-spacing:1.6px;margin-top:5px}.site-header nav{display:flex;align-items:center;gap:34px;font-size:13px}.site-header nav>a:hover{color:var(--orange)}.nav-index{border-bottom:1px solid var(--ink);padding-bottom:7px}.nav-index span{margin-left:12px}.hero{position:relative;overflow:hidden;padding:62px 7% 58px;min-height:690px}.hero-label,.eyebrow,.card-meta,.detail-context,.poster-kicker,.poster-bottom{font-size:11px;font-weight:500;letter-spacing:1.5px}.hero-label{display:flex;align-items:center;gap:12px;margin-bottom:34px}.dot{width:7px;height:7px;background:var(--orange);border-radius:50%}.hero h1{font-family:var(--serif);font-size:clamp(72px,8.5vw,132px);line-height:.99;letter-spacing:-3px;position:relative;z-index:1;max-width:840px}.hero-arrow{font-family:var(--sans);color:var(--orange);font-size:.65em;display:inline-block;transform:translate(45px,5px)}.hero-bottom{display:flex;gap:60px;align-items:end;position:relative;z-index:1;margin-top:42px}.hero-bottom p{font-size:14px;color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;background:var(--orange);color:white;padding:16px 22px;font-size:13px;min-height:50px}.button:hover{background:#8f4120}.button span{font-size:19px}.hero-lines{position:absolute;right:-85px;top:175px;width:56%;color:#b6ad9a;opacity:.6;transform:rotate(-11deg);pointer-events:none}.hero-lines svg{width:100%;height:410px}.hero-lines>span{font-size:8px;letter-spacing:2px;display:block;text-align:center}.work-section{padding:60px 7% 95px;border-top:1px solid var(--line)}.section-top{display:flex;justify-content:space-between;align-items:start;gap:40px;margin-bottom:60px}.section-top h2{font:clamp(40px,4.5vw,64px)/1.06 var(--serif);max-width:560px}.eyebrow{display:block}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:66px 46px}.project-card:nth-child(even){padding-top:95px}.project-visual{position:relative;display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1.25;overflow:hidden;background:#dedbd3}.project-visual img{height:100%;object-fit:contain;transition:transform .45s}.project-visual:hover img{transform:scale(1.025)}.project-visual.claw{background:#ddd8cb}.project-visual.claw img{object-fit:contain;width:75%;height:75%;image-rendering:auto}.project-visual.gcs{padding:35px;background:#d7dcd8}.project-visual.bridges{padding:16px;background:#e7e9e8}.image-arrow{position:absolute;top:18px;right:18px;width:37px;height:37px;border-radius:50%;background:var(--paper);display:grid;place-items:center;font-size:24px}.image-label{position:absolute;bottom:20px;left:22px;font-size:9px;letter-spacing:1.8px;color:#42463d}.card-meta{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:9px;letter-spacing:1px;margin:20px 0 12px}.project-card h3{font:36px/1.1 var(--serif);margin-bottom:10px}.project-card h3 a{display:flex;justify-content:space-between;gap:16px}.project-card h3 span{font:24px var(--sans)}.project-card>p{max-width:440px;font-size:14px;color:var(--muted)}.poster-art{width:100%;height:100%;min-height:330px;padding:32px;background:#b6572b;color:#fff8e9;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between}.poster-kicker{font-size:9px;position:relative;z-index:1}.poster-title{font:clamp(45px,5.4vw,80px)/.9 var(--serif);position:relative;z-index:1;padding:25px 0 30px;letter-spacing:-1px}.poster-title>span{position:absolute;right:12px;bottom:18px;font:80px var(--sans);color:#efbf83}.poster-bottom{font-size:8px;line-height:1.8;letter-spacing:1px;position:relative;z-index:1}.road{position:absolute;right:30px;top:-40px;width:120px;height:700px;border:1px solid #d59e72;transform:rotate(25deg);opacity:.4;display:flex;flex-direction:column;align-items:center;gap:65px;padding-top:20px}.road i{height:55px;width:2px;background:#e5b28c;flex-shrink:0}.about-section{display:grid;grid-template-columns:1fr 1.3fr;padding:75px 7% 90px;border-top:1px solid var(--line);gap:50px}.large-arrow{font-size:150px;font-weight:400;line-height:1.2;margin-top:45px;color:var(--orange)}.about-section h2{font:clamp(45px,5vw,76px)/1.03 var(--serif);margin-bottom:30px}.about-section p{font-size:15px;color:var(--muted);margin-bottom:20px;max-width:580px}.text-link{display:inline-block;border-bottom:1px solid var(--ink);padding:10px 0;margin-top:10px;font-size:13px}.text-link span{margin-left:50px}.closing{background:var(--orange);color:var(--paper);padding:60px 7% 65px;position:relative}.closing p{font:clamp(42px,5vw,70px)/1.1 var(--serif);margin:30px 0}.closing .button{border:1px solid #e3ae8f;background:transparent}.closing .button:hover{background:#944421}footer{padding:40px 7%;display:flex;justify-content:space-between;gap:30px;align-items:center;font-size:12px}footer>p{color:var(--muted)}.footer-name{font:32px var(--serif)}.footer-name span{display:block;font:9px var(--sans);margin-top:8px;letter-spacing:1px}.project-hero{background:var(--ink);color:var(--paper);padding:36px 7% 55px}.back-link{font-size:12px;color:#d6d0c5;display:inline-block;margin-bottom:55px}.detail-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:end}.detail-heading h1{font:clamp(65px,7.5vw,110px)/.99 var(--serif);margin-top:28px;letter-spacing:-2px}.detail-heading>p{font-size:15px;color:#d6d0c5;max-width:450px}.detail-context{display:block;border-top:1px solid #55554c;padding-top:20px;margin-top:40px;font-size:9px}.project-body{padding:50px 7% 0}.project-media{background:#e5e2da;max-height:720px;overflow:hidden;display:flex;align-items:center;justify-content:center;min-height:350px}.project-media>a{display:block;width:100%}.project-media img{max-height:650px;object-fit:contain}.project-media.claw{padding:60px}.project-media.claw img{max-height:430px;width:auto;max-width:100%;margin:auto}.project-media.gcs{padding:35px}.project-media.poster{min-height:560px}.project-media .poster-art{min-height:560px;padding:50px}.project-media .poster-title{font-size:100px;max-width:700px}.caption{font-size:11px;line-height:1.6;color:var(--muted);margin:16px 0 0;max-width:850px}.case-layout{display:grid;grid-template-columns:1fr 1.8fr;gap:100px;margin:80px 0}.case-layout aside{border-top:1px solid var(--line);padding-top:23px}dt{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:1px;margin-top:26px}dd{font-size:14px;line-height:1.6;margin:8px 0 0}.outline{background:transparent;color:var(--ink);border:1px solid var(--line);margin-top:22px}.outline:hover{background:var(--ink);color:white}.case-copy section{padding:24px 0 35px;border-top:1px solid var(--line)}.small-number{font-size:10px;color:var(--orange);display:block;margin-bottom:15px}.case-copy h2{font:38px/1.1 var(--serif);margin-bottom:18px}.case-copy p{font-size:15px;color:var(--muted)}.media-note{background:#ebe7de;border-left:2px solid var(--orange);padding:18px 22px;font-size:12px;line-height:1.6;color:var(--muted)}.next-project{display:block;border-top:1px solid var(--line);padding:40px 0 60px}.next-project>span:last-child{display:block;font:clamp(40px,5vw,65px) var(--serif);margin-top:18px}
@media(min-width:1600px){.hero,.work-section,.about-section,.project-hero,.project-body,.closing{padding-left:max(7%,calc((100% - 1400px)/2));padding-right:max(7%,calc((100% - 1400px)/2))}}@media(max-width:800px){.site-header{padding:20px 6%}.site-header nav{gap:20px;font-size:12px}.nav-index{display:none}.hero{padding:40px 6% 45px;min-height:620px}.hero h1{font-size:85px}.hero-lines{width:80%;top:220px;right:-140px}.hero-bottom{gap:30px;align-items:start;flex-direction:column}.hero-arrow{transform:translate(16px,0)}.section-top{display:block;margin-bottom:35px}.section-top h2{margin-top:25px;font-size:48px}.work-section{padding:45px 6% 65px}.project-grid{gap:45px 25px}.project-card:nth-child(even){padding-top:70px}.project-card h3{font-size:29px}.card-meta{font-size:8px}.card-meta>span:last-child{display:none}.project-visual.gcs{padding:20px}.poster-art{padding:22px;min-height:260px}.poster-title{font-size:50px}.poster-title>span{font-size:45px;right:0}.about-section{padding:50px 6%;gap:25px;grid-template-columns:.6fr 1.4fr}.large-arrow{font-size:90px}.detail-heading{gap:35px}.detail-heading h1{font-size:72px}.case-layout{gap:40px}.project-body{padding:35px 6% 0}footer>p{display:none}.project-media.poster,.project-media .poster-art{min-height:440px}.project-media .poster-title{font-size:80px}}@media(max-width:560px){.brand{font-size:14px;gap:9px}.brand-symbol{font-size:36px}.brand-sub{font-size:6px;letter-spacing:1px}.site-header nav{gap:18px;font-size:11px}.hero h1{font-size:72px;letter-spacing:-2px}.hero-label{font-size:9px;letter-spacing:1px}.hero-lines{right:-140px;top:230px;width:105%;opacity:.4}.hero{min-height:630px}.hero-arrow{transform:translate(12px,0)}.project-grid{grid-template-columns:1fr;gap:40px}.project-card:nth-child(even){padding-top:0}.project-visual{aspect-ratio:1.15}.project-card h3{font-size:34px}.poster-title{font-size:66px}.poster-art{min-height:340px}.poster-title>span{font-size:70px;right:6px}.about-section{grid-template-columns:1fr;gap:25px}.large-arrow{display:none}.about-section h2{font-size:57px}.closing{padding:45px 6%}.closing p{font-size:43px}footer{padding:30px 6%;align-items:end}.detail-heading{grid-template-columns:1fr;gap:25px}.detail-heading h1{font-size:66px}.project-hero{padding:28px 6% 40px}.back-link{margin-bottom:35px}.detail-context{font-size:8px;line-height:1.6}.case-layout{grid-template-columns:1fr;gap:40px;margin:45px 0}.case-copy h2{font-size:35px}.project-media{min-height:230px}.project-media.claw{padding:30px}.project-media.gcs{padding:15px}.project-media.poster,.project-media .poster-art{min-height:420px}.project-media .poster-art{padding:30px}.project-media .poster-title{font-size:74px}.next-project{padding-bottom:35px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

/* Homepage title and text-only header. */
.hero .hero-title{font-family:var(--serif);font-size:clamp(48px,8.5vw,132px);font-weight:400;line-height:1.02;letter-spacing:-.025em;max-width:100%}
.hero-title>span{display:block;white-space:nowrap}
.site-header .brand{font-size:21px;letter-spacing:0;line-height:1.2}
.site-header .brand-sub{font-size:11px;letter-spacing:.5px;margin-top:6px}
.site-header nav{gap:30px}
@media(max-width:680px){.site-header{flex-direction:column;align-items:stretch;gap:22px}.site-header nav{justify-content:space-between;gap:12px;font-size:12px}.site-header .brand{font-size:21px}.site-header .brand-sub{font-size:11px}}

/* Simplified header and larger homepage introduction. */
.site-header{justify-content:flex-end}
.hero-bottom .hero-intro{font-size:18px;line-height:1.65;max-width:740px}
.hero-intro>span{display:block}

/* About Me homepage: title at top left, compact navigation at top right. */
.home-page .site-header{position:absolute;top:38px;right:7%;z-index:3;width:max-content;padding:0;border:0;display:block}
.home-page .site-header nav{gap:26px;font-size:13px}
.home-page .site-header nav a[aria-current="page"]{border-bottom:1px solid currentColor;padding-bottom:5px}
.home-page .hero{padding:32px 7% 48px;min-height:0}
.home-page .hero .hero-title{font-size:clamp(48px,7.8vw,116px);line-height:1.04;max-width:70%}
.home-about,.home-work{padding:38px 7% 48px;border-top:1px solid var(--line)}
.home-about{display:grid;grid-template-columns:1fr 1.8fr;gap:60px;align-items:start}
.home-about h2,.home-work h2{font:38px/1.15 var(--serif)}
.home-about p{font-size:17px;line-height:1.75;color:var(--muted);max-width:650px}
.home-work{padding-bottom:65px}
.work-title-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:55px;margin-top:32px}
.work-title-grid a{font:32px/1.2 var(--serif);padding:24px 0;border-top:1px solid var(--line)}
.work-title-grid a:hover{color:var(--orange)}
@media(max-width:1000px){.home-page .site-header{top:34px;right:6%}.home-page .site-header nav{gap:19px;font-size:12px}.home-page .hero{padding-left:6%;padding-right:6%}}
@media(max-width:800px){.home-page .site-header{position:relative;top:auto;right:auto;width:max-content;max-width:88%;margin:24px 6% 0 auto}.home-page .site-header nav{gap:20px;justify-content:flex-end}.home-page .hero{padding-top:30px;padding-bottom:38px}.home-page .hero .hero-title{max-width:100%;font-size:clamp(48px,10vw,80px)}.home-about,.home-work{padding-left:6%;padding-right:6%}.home-about{grid-template-columns:1fr 1.7fr;gap:30px}.work-title-grid{column-gap:30px}.work-title-grid a{font-size:28px}}
@media(max-width:560px){.home-page .site-header{max-width:88%;margin-top:22px}.home-page .site-header nav{gap:17px;font-size:11px;flex-wrap:wrap}.home-page .hero{padding-top:30px}.home-page .hero .hero-title{font-size:clamp(46px,12vw,66px)}.home-about{grid-template-columns:1fr;gap:18px;padding-top:30px;padding-bottom:32px}.home-about h2,.home-work h2{font-size:33px}.home-about p{font-size:16px}.home-work{padding-top:30px;padding-bottom:40px}.work-title-grid{grid-template-columns:1fr;margin-top:25px}.work-title-grid a{font-size:30px;padding:20px 0}}

/* Team photograph, restored header, and About Me photo placeholder. */
.home-page .site-header{position:relative;top:auto;right:auto;width:100%;max-width:none;margin:0;padding:26px 7%;border-bottom:1px solid var(--line);display:flex;justify-content:flex-end}
.home-page .site-header nav{justify-content:flex-end}
.home-page .hero{display:grid;grid-template-columns:1fr 1.16fr;gap:48px;align-items:center;padding:48px 7% 52px}
.home-page .hero .hero-title{font-size:clamp(45px,6vw,92px);line-height:1.04;max-width:100%}
.hero-team-photo{margin:0;min-width:0}
.hero-team-photo img{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain}
.hero-team-photo figcaption{font-size:11px;color:var(--muted);margin-top:12px}
.about-photo-column h2{margin-bottom:24px}
.portrait-placeholder{display:grid;place-items:center;aspect-ratio:4/3;width:100%;max-width:270px;background:#e8e4dc;border:1px solid var(--line);color:var(--muted)}
.portrait-placeholder span{font-size:12px;letter-spacing:.3px}
.home-about>p{padding-top:4px}
.project-media .poster-title{font-size:clamp(38px,6.7vw,96px)}
@media(max-width:1000px){.home-page .site-header{padding:24px 6%}.home-page .hero{gap:32px;padding:38px 6% 44px}.home-page .hero .hero-title{font-size:clamp(42px,5.8vw,70px)}}
@media(max-width:800px){.home-page .site-header{width:100%;max-width:none;margin:0;padding:22px 6%;display:flex}.home-page .hero{grid-template-columns:1fr;gap:30px;padding:34px 6% 40px}.home-page .hero .hero-title{font-size:clamp(48px,10vw,78px)}.hero-team-photo{max-width:660px}.portrait-placeholder{max-width:240px}}
@media(max-width:560px){.home-page .site-header{margin:0;padding:20px 6%}.home-page .site-header nav{gap:17px;flex-wrap:wrap}.home-page .hero .hero-title{font-size:clamp(46px,12vw,66px)}.home-about{gap:24px}.portrait-placeholder{max-width:240px}.hero-team-photo figcaption{font-size:10px}}

/* Rounded photographs and a light, nondestructive claw-photo crop. */
.hero-team-photo img{border-radius:14px}
.work-title-grid{align-items:start}
.work-project-link{display:block}
.work-project-link>span{display:block}
.claw-project-photo{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 70%;border-radius:14px;margin-top:20px}
.project-media.claw{padding:0;min-height:0;max-height:none;background:transparent;overflow:visible}
.project-media.claw>a{width:min(100%,620px)}
.project-media.claw img{width:100%;height:auto;max-height:none;aspect-ratio:4/5;object-fit:cover;object-position:50% 70%;border-radius:14px}

/* User-supplied About Me and project photographs, with softer corners. */
.home-project-photo{display:block;width:100%;height:auto;border-radius:22px;margin-top:20px}
.about-profile-photo{display:block;width:100%;height:auto;max-width:360px;border-radius:22px}
.hero-team-photo img,.claw-project-photo,.project-media.claw img{border-radius:22px}

/* Pale sage watercolor: varied placement across pages and sections. */
:root{--paper:#fbfefc;--ink:#173d32;--muted:#587268;--orange:#3d896f;--line:#c9ded3}
body{background:var(--paper)}
main>section{position:relative;isolation:isolate}
main>section::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:url('assets/watercolor-sage.png.webp');background-repeat:no-repeat;background-position:center;background-size:cover;opacity:.72}
main>section:nth-of-type(even)::before{transform:scaleX(-1);opacity:.52}
main>section:nth-of-type(3n)::before{transform:rotate(180deg);opacity:.64}
.claw-page main>section::before{transform:scaleX(-1)}
.gcs-page main>section::before{transform:rotate(180deg)}
.bridges-page main>section::before{transform:scaleY(-1)}
.poster-page main>section::before{background-position:right center}
.site-header,.home-page .site-header{background:rgba(244,252,247,.9);border-color:var(--line)}
.project-hero{background:rgba(245,252,248,.45);color:var(--ink)}
.detail-heading>p,.back-link{color:var(--muted)}
.detail-context{border-color:var(--line)}
.button:hover{background:#28694f}
.poster-art,.closing{background:#43856c;color:#f8fff9}
.poster-title>span{color:#cde8d4}
.road{border-color:#a6cdb6}.road i{background:#c0e5cc}
.media-note{background:#eaf5ee;border-color:var(--orange)}
/* Display crops retain the original photographs unchanged. */
.photo-crop{display:block;position:relative;width:100%;overflow:hidden;border-radius:22px;margin-top:20px}
.photo-crop .home-project-photo{display:block;position:absolute;left:0;width:100%;max-width:none;max-height:none;aspect-ratio:auto;object-fit:fill;border-radius:0;margin:0}
.photo-crop--piezo{aspect-ratio:15/13}
.photo-crop--piezo .home-project-photo{top:-36.923077%;height:153.846154%}
.photo-crop--claw{aspect-ratio:525/368}
.photo-crop--claw .home-project-photo{top:-63.043478%;height:190.217391%}
.project-media.claw>a{position:relative;display:block;aspect-ratio:15/16;overflow:hidden;border-radius:22px}
.project-media.claw img{position:absolute;left:0;top:-25%;width:100%;height:125%;max-height:none;aspect-ratio:auto;object-fit:fill;border-radius:0}

/* ARC image reserved for the final mechanism photograph. */
.project-image-placeholder{width:min(100%,620px);aspect-ratio:4/3;border:1px dashed #9cbeac;border-radius:22px;background:rgba(232,245,237,.7);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--muted)}
.project-image-placeholder>span{font:clamp(28px,4vw,46px)/1.1 var(--serif);color:var(--ink)}
.project-image-placeholder small{font-size:13px}

/* JHU bridge process: three numbered sections with reserved photographs. */
.bridge-case-copy{max-width:900px;margin:0 auto;padding-bottom:45px}
.bridge-case-copy section{padding-top:28px;padding-bottom:45px}
.section-photo-placeholder{margin-top:26px;width:100%;aspect-ratio:16/9;border:1px dashed #9cbeac;border-radius:22px;background:rgba(232,245,237,.7);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--muted)}
.section-photo-placeholder>span{font:clamp(28px,4vw,42px)/1.1 var(--serif);color:var(--ink)}
.section-photo-placeholder small{font-size:13px}
@media(max-width:560px){.section-photo-placeholder{aspect-ratio:4/3}.bridge-case-copy section{padding-bottom:32px}}

/* Left-aligned bridge page and equal-sized material graphs in one row. */
.bridges-page .detail-heading{grid-template-columns:1fr;gap:26px;text-align:left}
.bridges-page .detail-heading>p{max-width:740px}
.bridge-case-copy{max-width:none;margin:0;text-align:left}
.bridges-page .section-photo-placeholder{align-items:flex-start;padding:32px}
.material-graphs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:28px;align-items:start}
.material-graph{margin:0;min-width:0;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}
.material-graph figcaption{font:500 clamp(12px,1.25vw,17px)/1.4 var(--sans);color:#626b66;padding:18px 16px 0;min-height:66px;text-align:left}
.graph-frame{display:block;aspect-ratio:1.53;padding:0 8px 8px;background:#fff}
.graph-frame svg{display:block;width:100%;height:100%}
@media(max-width:700px){.material-graphs{gap:10px}.material-graph{border-radius:12px}.material-graph figcaption{font-size:10px;padding:12px 8px 0;min-height:62px}.graph-frame{padding:0 3px 4px}}

/* Project titles without side introductions; bridge model and small calculations. */
.detail-heading{grid-template-columns:1fr}
.bridge-design-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:32px;align-items:start;margin-top:26px}
.bridge-design-main{display:block;border-radius:22px;overflow:hidden;align-self:start}
.bridge-design-main img{display:block;width:100%;height:auto}
.bridge-calculation-thumbnails{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:310px;margin:0 0 20px}
.bridge-calculation-thumbnails a{display:block;aspect-ratio:1.15;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.bridge-calculation-thumbnails img{width:100%;height:100%;object-fit:contain}
.bridge-design-detail>p{font-size:14px;line-height:1.75}
@media(max-width:700px){.bridge-design-layout{grid-template-columns:1fr;gap:22px}.bridge-calculation-thumbnails{max-width:280px}}

/* Compact About Me: biography below the heading, portrait beside it. */
.home-about{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:46px;align-items:center;padding-top:32px;padding-bottom:36px}
.about-text-column h2{margin-bottom:18px}
.home-about .about-profile-photo{justify-self:end;max-width:360px}
@media(max-width:800px){.home-about{gap:30px;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}}
@media(max-width:560px){.home-about{grid-template-columns:1fr;gap:22px;padding-top:28px;padding-bottom:30px}.home-about .about-profile-photo{justify-self:start;max-width:300px}}

/* Full-width calculation pair and three construction photographs. */
.bridge-design-layout{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:28px}
.bridge-calculation-thumbnails{width:100%;max-width:none;gap:14px;margin-bottom:18px}
.bridge-calculation-thumbnails a{aspect-ratio:1.15;border-radius:14px}
.bridge-build-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:28px;align-items:start;margin-top:26px}
.bridge-build-main{display:block;overflow:hidden;border-radius:22px}
.bridge-build-main img{width:100%;height:auto;display:block}
.bridge-build-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:18px}
.bridge-build-pair>a,.bridge-build-pair>div{display:block;aspect-ratio:4/3;overflow:hidden;border-radius:16px}
.bridge-build-pair img{width:100%;height:100%;object-fit:cover}
.bridge-build-detail>p{font-size:14px;line-height:1.75}
@media(max-width:700px){.bridge-design-layout,.bridge-build-layout{grid-template-columns:1fr;gap:22px}.bridge-calculation-thumbnails{max-width:none}.bridge-build-pair{gap:12px}}

/* Nondestructive lighting adjustment keeps the real construction photograph intact. */
.bridge-build-main img{filter:brightness(1.25)contrast(1.04)saturate(.78)}

/* Give the biography a little more room to avoid a short final line. */
@media(min-width:801px){.home-about{grid-template-columns:minmax(0,1.9fr) minmax(0,1fr);gap:38px}.home-about p{max-width:710px}}
/* COSMOS research case study. */
.cosmos-overview,.cosmos-findings,.cosmos-future,.cosmos-presentation{padding:42px 7%;border-top:1px solid var(--line)}
.cosmos-overview{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:52px;align-items:start}
.cosmos-page-copy h2,.cosmos-findings h2,.cosmos-future h2,.cosmos-presentation h2{font:clamp(34px,3.8vw,52px)/1.08 var(--serif);margin:16px 0 22px}
.cosmos-page-copy>p,.cosmos-future p,.cosmos-presentation p{font-size:15px;line-height:1.75;color:var(--muted)}
.cosmos-page-copy>p+p{margin-top:16px}
.cosmos-method{padding:22px 0;margin-top:22px;border-top:1px solid var(--line)}
.cosmos-method h3{font:27px/1.15 var(--serif);margin-bottom:14px}
.cosmos-method ul{padding-left:19px;margin:0;color:var(--muted);font-size:14px;line-height:1.7}
.cosmos-method li+li{margin-top:9px}
.cosmos-takeaway{padding:22px 24px;background:rgba(222,240,229,.8);border-left:3px solid var(--orange);border-radius:0 16px 16px 0}
.cosmos-takeaway h3{font:27px/1.1 var(--serif);margin-bottom:12px}
.cosmos-takeaway p{font-size:14px;line-height:1.75;color:var(--muted)}
.cosmos-poster{margin:0}
.cosmos-poster a{display:block;border-radius:20px;overflow:hidden;border:1px solid var(--line)}
.cosmos-poster img{display:block;width:100%;height:auto}
.cosmos-poster figcaption{font-size:11px;color:var(--muted);line-height:1.6;margin-top:12px}
.cosmos-findings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:28px}
.cosmos-finding{min-width:0;padding:22px;background:rgba(255,255,255,.78);border:1px solid var(--line);border-radius:20px;display:flex;flex-direction:column}
.cosmos-finding h3{font:30px/1.1 var(--serif);margin-bottom:14px}
.cosmos-finding p{font-size:14px;line-height:1.75;color:var(--muted);margin-bottom:22px}
.cosmos-finding a{display:block;margin-top:auto;border-radius:12px;overflow:hidden;border:1px solid var(--line)}
.cosmos-finding img{width:100%;height:auto}
.cosmos-future{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:48px;align-items:center}
.cosmos-future p+p{margin-top:16px}
.cosmos-future figure{margin:0}
.cosmos-future figure a{display:block;border-radius:18px;overflow:hidden;border:1px solid var(--line)}
.cosmos-future figcaption{font-size:11px;color:var(--muted);margin-top:10px}
.cosmos-locations{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.cosmos-locations span{font-size:12px;padding:9px 13px;border:1px solid var(--line);border-radius:30px;background:rgba(241,250,245,.85)}
.cosmos-presentation{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:48px;align-items:center;padding-bottom:58px}
.cosmos-presentation>a{border-radius:18px;overflow:hidden;display:block;border:1px solid var(--line)}
.cosmos-presentation .button{margin-top:24px}
@media(max-width:800px){.cosmos-overview,.cosmos-findings,.cosmos-future,.cosmos-presentation{padding-left:6%;padding-right:6%}.cosmos-overview{gap:28px}.cosmos-findings-grid{gap:14px}.cosmos-finding{padding:16px}.cosmos-finding h3{font-size:26px}.cosmos-future,.cosmos-presentation{gap:28px}}
@media(max-width:640px){.cosmos-overview,.cosmos-future,.cosmos-presentation{grid-template-columns:1fr;gap:28px}.cosmos-overview,.cosmos-findings,.cosmos-future,.cosmos-presentation{padding-top:30px;padding-bottom:34px}.cosmos-poster{max-width:480px}.cosmos-findings-grid{grid-template-columns:1fr;gap:18px}.cosmos-finding{padding:22px}.cosmos-finding h3{font-size:30px}}

/* Stack the research layout in the narrower in-app browser pane. */
@media(max-width:800px){.cosmos-overview,.cosmos-future,.cosmos-presentation{grid-template-columns:1fr;gap:28px}.cosmos-findings-grid{grid-template-columns:1fr;gap:20px}.cosmos-poster{max-width:520px}.cosmos-finding{padding:22px}}

/* Final presentation polish and natural line wrapping. */
p{text-wrap:pretty}h2,h3{text-wrap:balance}dt{text-transform:none}
.cosmos-takeaway h3{font-size:30px}.cosmos-takeaway p{font-size:15px}
.presentation-pdf-link{display:inline-block;font:700 clamp(34px,3.8vw,52px)/1.1 var(--serif);margin-top:24px;border-bottom:1px solid currentColor;padding-bottom:8px;text-wrap:balance}
.presentation-pdf-link span{font:30px var(--sans)}
.poster-photo-flat{display:block;width:100%;height:auto;overflow:hidden}
.poster-full-view{width:min(94vw,1100px);margin:24px auto}
.bridge-build-main{position:relative}
.bridge-build-main::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 50%,transparent 42%,rgba(0,0,0,.16) 100%)}
.bridge-build-main img{filter:brightness(1.27)contrast(1.13)saturate(.9)}
.bridge-build-detail>p{line-height:1.65}

/* Requested COSMOS type hierarchy: 10px steps and a clear PDF link. */
.poster-page{--cosmos-question-size:clamp(44px,4.2vw,56px);--cosmos-presentation-size:clamp(34px,3.8vw,52px);--cosmos-highlight:rgba(222,240,229,.8)}
.cosmos-page-copy h2{font-size:var(--cosmos-question-size)}
.cosmos-takeaway{background:var(--cosmos-highlight)}
.cosmos-takeaway h3{font-size:calc(var(--cosmos-question-size) - 25px);font-weight:700;line-height:1.12;margin-bottom:16px}
.cosmos-takeaway .conclusion-lead{font-size:calc(var(--cosmos-question-size) - 30px);font-weight:700;line-height:1.38;color:var(--ink);text-wrap:pretty}
.cosmos-takeaway .conclusion-note{font-size:15px;font-weight:400;line-height:1.7;margin-top:16px}
.cosmos-presentation h2{font-size:var(--cosmos-presentation-size)}
.presentation-pdf-link{font-family:var(--sans);font-size:calc(var(--cosmos-presentation-size) - 5px);font-weight:700;line-height:1.2;background:var(--cosmos-highlight);border:0;border-left:3px solid var(--orange);border-radius:0 16px 16px 0;padding:18px 22px;color:var(--ink)}
.presentation-pdf-link span{font:28px var(--sans)}

/* Claw: paired CAD studies and a compact printed-prototype gallery. */
.claw-process{padding:40px 7% 46px;border-top:1px solid var(--line)}
.claw-process h2{font:clamp(34px,3.8vw,52px)/1.08 var(--serif);margin:16px 0 20px;text-align:left}
.claw-section-copy{max-width:850px;font-size:15px;line-height:1.75;color:var(--muted);margin-bottom:28px}
.claw-cad-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.claw-photo{margin:0;min-width:0}
.claw-photo a{display:block;overflow:hidden;border-radius:22px;border:1px solid var(--line);background:rgba(247,250,248,.85)}
.claw-photo img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .25s ease}
.claw-photo a:hover img{transform:scale(1.025)}
.claw-photo figcaption{font-size:14px;line-height:1.4;color:var(--ink);margin-top:12px}
.claw-cad-photo a{aspect-ratio:3/2;background:#2e343e}
.claw-prototype-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.claw-prototype-grid .claw-photo a{aspect-ratio:3/4}
.claw-prototypes{padding-bottom:58px}
@media(max-width:800px){.claw-process{padding-left:6%;padding-right:6%}.claw-prototype-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px}}
@media(max-width:560px){.claw-process{padding-top:30px;padding-bottom:34px}.claw-cad-grid{grid-template-columns:1fr;gap:24px}.claw-prototype-grid{gap:22px 12px}.claw-photo a{border-radius:16px}.claw-photo figcaption{font-size:12px}.claw-section-copy{font-size:14px}}

/* Pair each lab abstract with its graph; shared rows guarantee equal heights. */
.material-test-pairs{display:grid;gap:24px;margin-top:30px}
.material-test-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:stretch}
.material-abstract,.material-test-row .material-graph{border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden;min-width:0}
.material-abstract{display:flex;align-items:center;padding:18px;transition:border-color .2s,box-shadow .2s}
.material-abstract:hover{border-color:var(--orange);box-shadow:0 5px 20px #274b3a12}
.material-abstract img{width:100%;height:auto;display:block}
.material-test-row .material-graph{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:14px 0}
.material-test-row .material-graph figcaption{width:calc((200% - 12px)/3);max-width:100%;min-height:54px;padding:10px 12px 0;font-size:clamp(12px,1.25vw,17px);line-height:1.4}
.material-test-row .graph-frame{width:calc((200% - 12px)/3);max-width:100%;padding:0 8px 8px;aspect-ratio:1.53}
@media(max-width:900px){.material-test-row{gap:18px}.material-abstract{padding:10px}.material-test-row .material-graph figcaption{font-size:12px;min-height:50px}}
@media(max-width:700px){.material-test-row{grid-template-columns:minmax(0,1fr);gap:12px}.material-test-pairs{gap:28px}.material-abstract{padding:16px;min-height:200px}.material-test-row .material-graph{padding:12px 0}.material-test-row .material-graph figcaption,.material-test-row .graph-frame{width:100%;max-width:430px}.material-test-row .material-graph figcaption{font-size:14px;min-height:48px}}

/* Crop empty blue space while preserving the top truss joint. */
.bridge-truss-crop{display:block;width:100%;height:auto;overflow:hidden}
.bridge-presentation-preview{display:block;width:100%;overflow:hidden;border:1px solid var(--line);border-radius:14px;margin-bottom:18px;background:#f1f1f1}
.bridge-presentation-preview img{display:block;width:100%;height:auto}
.bridge-presentation-preview:hover{border-color:var(--orange)}

/* Keep the additional side view beneath the left truss, within the text height. */
.bridge-design-left{min-width:0;align-self:start}
.bridge-side-view{display:flex;justify-content:center;align-items:start;margin-top:20px;overflow:hidden;border-radius:14px}
.bridge-side-view img{display:block;width:auto;max-width:100%;height:auto;max-height:var(--bridge-side-max-height,none);object-fit:contain}
@media(max-width:700px){.bridge-side-view img{max-height:none}.bridge-side-view{margin-top:16px}}

/* Round the image itself even when it is narrower than its link container. */
.bridge-design-main,.bridge-truss-crop,.bridge-presentation-preview,.bridge-presentation-preview img,.bridge-side-view img{border-radius:22px;overflow:hidden}
.bridge-build-stages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:28px;align-items:stretch}
.bridge-build-stages>a{display:block;min-width:0;aspect-ratio:16/9;overflow:hidden;border-radius:22px;background:#f1f1f1}
.bridge-build-stages img{display:block;width:100%;height:100%;object-fit:contain;border-radius:22px}
@media(max-width:700px){.bridge-build-stages{gap:14px;margin-top:22px}}

/* Preserve the supplied curved photo; avoid a second crop or white backing. */
.bridge-build-pair--updated{align-items:center}
.bridge-build-pair--updated .bridge-components-photo{border-radius:0;background:transparent;overflow:visible}
.bridge-build-pair--updated .bridge-components-photo img{object-fit:contain;border-radius:0;background:transparent}

/* Fit the new portrait in the original 4:3 About Me frame. */
.home-about .about-profile-photo{aspect-ratio:4/3;object-fit:cover;object-position:50% 63%;height:auto;border-radius:22px}

/* Compact visit photo below the question; original poster sizing restored. */
.cosmos-page-copy .cosmos-visit-photo{width:min(100%,240px);height:auto;border-radius:16px;margin-top:22px}
.cosmos-takeaway{padding:18px 22px}
.cosmos-takeaway h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;margin-bottom:12px}

/* Question and compact photo share the left overview column. */
.cosmos-question-row{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:18px;align-items:center;margin-top:22px}
.cosmos-question{background:var(--cosmos-highlight);border-left:3px solid var(--orange);border-radius:0 16px 16px 0;padding:16px 18px}
.cosmos-question h3{font:22px/1.2 Georgia,'Times New Roman',serif;margin-bottom:10px}
.cosmos-question p{font-size:15px;line-height:1.65;color:var(--ink)}
.cosmos-question-row .cosmos-visit-photo{width:100%;max-width:240px;margin:0;justify-self:end}
@media(max-width:480px){.cosmos-question-row{grid-template-columns:1fr}.cosmos-question-row .cosmos-visit-photo{justify-self:start;width:min(100%,240px)}}

.cosmos-question-row .cosmos-visit-link{display:block;width:100%;max-width:240px;justify-self:end;border-radius:16px}
@media(max-width:480px){.cosmos-question-row .cosmos-visit-link{justify-self:start}}

.claw-cad-video{display:block;width:100%;aspect-ratio:3/2;object-fit:contain;background:#2e343e;border:1px solid var(--line);border-radius:22px}
@media(max-width:560px){.claw-cad-video{border-radius:16px}}

/* Equal CAD windows trim empty borders without changing the source videos. */
.claw-cad-grid .claw-cad-photo{aspect-ratio:4/3;overflow:hidden;border-radius:22px;background:#2e343e}
.claw-cad-grid .claw-cad-video{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;border:0;border-radius:0}
.claw-page .claw-cad-grid{margin-top:0}
.claw-page .claw-process:not(.claw-prototypes) .claw-section-copy{max-width:none}
@media(max-width:560px){.claw-cad-grid .claw-cad-photo{border-radius:16px}}
.claw-cad-grid video[aria-label="Fusion 360 arm CAD demonstration"]{object-position:14% center}

/* Hide the narrow black recording borders inside the unchanged CAD frames. */
.claw-cad-grid video[aria-label="Fusion 360 claw CAD demonstration"]{transform:scale(1.05)}

/* Six milestones with paired image space at each point. */
.claw-prototypes .claw-section-copy{max-width:none}
.claw-timeline{position:relative;list-style:none;margin:36px 0 0;padding:0;display:grid;gap:36px}
.claw-timeline::before{content:"";position:absolute;left:50%;width:2px;transform:translateX(-50%);top:calc((100% - 180px)/12);bottom:calc((100% - 180px)/12);background:var(--orange)}
.claw-timeline-point{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 48px minmax(0,1fr);gap:20px;align-items:center}
.claw-timeline-marker{z-index:1;justify-self:center;display:grid;place-items:center;width:36px;height:36px;border:4px solid var(--paper);border-radius:50%;background:var(--orange);color:white;font-size:10px;font-weight:600}
.claw-timeline-space{width:100%;aspect-ratio:4/3;border:1px dashed rgba(61,137,111,.35);border-radius:20px;background:rgba(222,240,229,.24)}
.claw-timeline-space img,.claw-timeline-space video{display:block;width:100%;height:100%;object-fit:contain;border-radius:inherit}
@media(max-width:560px){.claw-timeline{gap:28px}.claw-timeline-point{grid-template-columns:minmax(0,1fr) 32px minmax(0,1fr);gap:8px}.claw-timeline-space{border-radius:12px}.claw-timeline-marker{width:30px;height:30px;border-width:3px;font-size:9px}.claw-timeline::before{top:calc((100% - 140px)/12);bottom:calc((100% - 140px)/12)}}

.claw-timeline::before{top:0;bottom:0}
.claw-timeline .claw-timeline-media{overflow:hidden;border:1px solid var(--line);background:rgba(247,250,248,.9)}
.claw-timeline-description{position:relative;z-index:1;grid-column:1/-1;justify-self:center;width:min(100%,780px);margin:0;padding:18px 24px;background:var(--paper);border:1px solid var(--line);border-radius:16px;font-size:15px;line-height:1.7;color:var(--muted);text-align:center}
@media(max-width:560px){.claw-timeline-description{font-size:14px;padding:14px 16px}}

.claw-timeline-photo-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;height:100%;padding:8px}
.claw-timeline-photo-pair img{width:100%;height:100%;min-width:0;min-height:0;object-fit:contain;border-radius:12px}
@media(max-width:560px){.claw-timeline-photo-pair{gap:4px;padding:4px}.claw-timeline-photo-pair img{border-radius:6px}}

/* Tight photo mosaic around the full-team portrait. */
.reflection-draft-box{min-height:160px;width:100%;margin:0 0 32px;padding:24px;border:1px solid var(--line);border-radius:18px;background:var(--cosmos-highlight,rgba(222,240,229,.8))}
.claw-reflection-collage{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:repeat(12,minmax(0,1fr));gap:5px;width:100%;aspect-ratio:4/3;overflow:hidden;border-radius:22px}
.claw-reflection-collage figure{margin:0;min-width:0;min-height:0;overflow:hidden;background:#dbe3dd}
.claw-reflection-collage img{display:block;width:100%;height:100%;object-fit:cover}
.reflection-collage-center{grid-column:4/10;grid-row:4/10}
.reflection-collage-photo--11{grid-column:1/4;grid-row:1/4}
.reflection-collage-photo--12{grid-column:4/7;grid-row:1/4}
.reflection-collage-photo--9{grid-column:7/10;grid-row:1/4}
.reflection-collage-photo--1{grid-column:10/13;grid-row:1/4}
.reflection-collage-photo--2{grid-column:1/4;grid-row:4/7}
.reflection-collage-photo--4{grid-column:1/4;grid-row:7/10}
.reflection-collage-photo--3{grid-column:1/4;grid-row:10/13}
.reflection-collage-photo--6{grid-column:4/7;grid-row:10/13}
.reflection-collage-photo--7{grid-column:7/10;grid-row:10/13}
.reflection-collage-photo--8{grid-column:10/13;grid-row:10/13}
.reflection-collage-photo--5{grid-column:10/13;grid-row:4/6}
.reflection-collage-photo--10{grid-column:10/13;grid-row:6/8}
.reflection-collage-photo--13{grid-column:10/13;grid-row:8/10}
 .reflection-collage-photo--11 img{object-position:50% 65%}.reflection-collage-photo--12 img{object-position:50% 65%}.reflection-collage-photo--13 img{object-position:50% 45%}
@media(max-width:560px){.reflection-draft-box{min-height:120px;margin-bottom:22px}.claw-reflection-collage{gap:3px;border-radius:14px}}

.reflection-copy{font-size:16px;line-height:1.85;color:var(--ink);padding:28px 32px}.reflection-copy p+p{margin-top:20px}.reflection-copy p:last-child{font-weight:600}
@media(max-width:560px){.reflection-copy{font-size:15px;padding:22px}}

.gcs-motivation-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:start}.gcs-motivation-layout p{line-height:1.85}.gcs-motivation-photo{width:100%;aspect-ratio:4/3;border:1px dashed rgba(61,137,111,.35);border-radius:22px;background:rgba(222,240,229,.24)}
@media(max-width:700px){.gcs-motivation-layout{grid-template-columns:1fr;gap:24px}.gcs-motivation-photo{border-radius:14px}}

.gcs-feature-rows{display:grid;gap:42px;margin-top:28px}
.gcs-feature-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:stretch}
.gcs-feature-photo{width:100%;aspect-ratio:4/3;border:1px dashed rgba(61,137,111,.35);border-radius:22px;background:rgba(222,240,229,.24)}
.gcs-feature-copy{display:grid;grid-template-rows:64px minmax(150px,1fr);gap:16px;min-width:0}
.gcs-feature-title,.gcs-feature-description{border:1px solid var(--line);border-radius:18px;background:rgba(247,250,248,.65);padding:18px 22px}
.gcs-feature-row--reverse .gcs-feature-photo{grid-column:2;grid-row:1}
.gcs-feature-row--reverse .gcs-feature-copy{grid-column:1;grid-row:1}
@media(max-width:700px){.gcs-feature-rows{gap:34px}.gcs-feature-row{grid-template-columns:1fr;gap:18px}.gcs-feature-row--reverse .gcs-feature-photo,.gcs-feature-row--reverse .gcs-feature-copy{grid-column:auto;grid-row:auto}.gcs-feature-copy{grid-template-rows:58px minmax(150px,1fr);gap:12px}.gcs-feature-photo{border-radius:14px}.gcs-feature-title,.gcs-feature-description{border-radius:14px}}

.case-copy section.gcs-motivation-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:32px;padding-top:16px;align-items:start}
.gcs-motivation-section>.small-number{grid-column:1;grid-row:1}
.gcs-motivation-section>h2{grid-column:1;grid-row:2}
.gcs-motivation-section .gcs-motivation-layout{display:contents}
.gcs-motivation-section .gcs-motivation-layout>p{grid-column:1;grid-row:3}
.gcs-motivation-section .gcs-motivation-photo{grid-column:2;grid-row:1/4;aspect-ratio:auto;border-style:solid;overflow:hidden;background:transparent}
.gcs-motivation-photo img{display:block;width:100%;height:auto}
.gcs-feature-photo{overflow:hidden}.gcs-feature-photo img{display:block;width:100%;height:100%;object-fit:contain}
.gcs-feature-title{display:flex;align-items:center}.gcs-feature-title h3{margin:0;font:500 clamp(18px,1.8vw,24px)/1.2 var(--serif);color:var(--ink)}
@media(max-width:700px){.case-copy section.gcs-motivation-section{display:block;padding-top:28px}.gcs-motivation-section .gcs-motivation-layout{display:grid;grid-template-columns:1fr;gap:24px}.gcs-motivation-section .gcs-motivation-layout>p,.gcs-motivation-section .gcs-motivation-photo{grid-column:auto;grid-row:auto}.gcs-feature-copy{grid-template-rows:minmax(64px,auto) minmax(150px,1fr)}}

.gcs-feature-description p{font-family:var(--sans);font-size:15px;line-height:1.85;font-weight:400;margin:0;color:var(--muted)}
.gcs-feature-copy{grid-template-rows:minmax(64px,auto) minmax(150px,1fr)}

.gcs-feature-row{align-items:start}.gcs-feature-rows{gap:32px}
.gcs-feature-photo{aspect-ratio:auto;background:transparent;border-style:solid;height:auto;display:flex;align-items:flex-start;justify-content:center}
.gcs-feature-photo img{display:block;width:100%;height:auto;max-height:380px;object-fit:contain}
.gcs-feature-copy{grid-template-rows:auto auto;align-content:start;gap:12px}
.gcs-feature-title,.gcs-feature-description{padding:14px 20px}.gcs-feature-title h3{font-weight:700}
.gcs-future-intro{line-height:1.85;margin-bottom:28px}
.gcs-future-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.gcs-future-card{display:grid;grid-template-rows:78px 1fr auto;gap:14px;min-width:0}
.gcs-future-bubble{border:1px solid var(--line);border-radius:18px;background:rgba(222,240,229,.35);padding:14px 18px;display:flex;align-items:center}
.gcs-future-bubble h3{margin:0;font:700 20px/1.2 var(--serif);color:var(--ink)}
.gcs-future-card p{margin:0;font-family:var(--sans);font-size:15px;line-height:1.75}
.gcs-future-card img{display:block;width:100%;height:auto;border-radius:14px;border:1px solid var(--line)}
@media(max-width:700px){.gcs-feature-copy{grid-template-rows:auto auto}.gcs-feature-photo img{max-height:none}.gcs-future-grid{grid-template-columns:1fr;gap:28px}.gcs-future-card{grid-template-rows:auto auto auto;gap:12px}.gcs-future-bubble{min-height:62px}}

.home-page .hero .hero-title .hero-name{font-family:'Open Sans',Arial,sans-serif;font-weight:700;font-size:clamp(32px,4.3vw,68px);line-height:1.15;letter-spacing:-.035em}
.home-page .hero .hero-title .hero-portfolio{font-size:clamp(32px,4.6vw,74px);line-height:1.1;margin-top:18px;white-space:nowrap}
.hero-team-crop{position:relative;width:100%;aspect-ratio:16/15;overflow:hidden;border-radius:22px}
.hero-team-crop img{position:absolute;width:150%;max-width:none;height:120%;left:-25%;top:-20%;aspect-ratio:auto;object-fit:fill;border-radius:0}
.site-header nav{flex-wrap:wrap;justify-content:flex-end}
@media(max-width:800px){.home-page .hero .hero-title .hero-name{font-size:clamp(32px,8.7vw,68px)}.home-page .hero .hero-title .hero-portfolio{font-size:clamp(32px,9.4vw,74px)}}
@media(max-width:560px){.site-header nav{gap:14px;font-size:11px}.home-page .site-header nav{gap:14px}}

/* Restore one-twelfth of the original photograph at the right edge. */
.hero-team-crop{aspect-ratio:6/5}.hero-team-crop img{width:133.3333333333%;left:-22.2222222222%;height:120%;top:-20%}

.gcs-github-link{display:block;width:fit-content;max-width:100%;margin-top:14px;font-weight:600;color:var(--ink);text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
