/* Ryan M. Kurtz — editorial portfolio, framework-free */
/* Professional history: a simple chronological editorial timeline */
.history-section{background:#f4f5f2}
.history-intro{display:grid;grid-template-columns:1.15fr .85fr;gap:72px;align-items:end;margin-bottom:60px}
.history-intro h2{font-size:clamp(39px,4.8vw,66px);line-height:1.12;max-width:700px;margin:0}
.history-intro>p{max-width:430px;font-size:16px;line-height:1.88;color:var(--muted);margin:0}
.history-timeline{list-style:none;margin:0;padding:0;border-top:1px solid #cdd5d2}
.history-item{display:grid;grid-template-columns:minmax(170px,.31fr) minmax(0,.69fr);gap:45px;padding:27px 0;border-bottom:1px solid #d6dcda}
.history-date{font-size:14px;font-weight:700;letter-spacing:-.01em;color:#2c5668;padding-top:8px;font-variant-numeric:tabular-nums}
.history-content{border-left:1px solid #c4d0d0;padding:0 0 0 42px;position:relative;max-width:780px}
.history-content::before{content:"";position:absolute;top:10px;left:-5px;width:9px;height:9px;background:#537d87;border:2px solid #f4f5f2;border-radius:50%;box-shadow:0 0 0 1px #537d87}
.history-type{display:block;font-size:10px;font-weight:700;letter-spacing:.13em;color:#6b838b;margin-bottom:12px}
.history-content h3{font-size:24px;line-height:1.28;letter-spacing:-.04em;margin:0 0 9px}
.history-content p{font-size:14px;line-height:1.85;color:#586a6f;max-width:650px;margin:0}
.history-outro{font-size:17px;line-height:1.8;color:#37545f;max-width:820px;border-left:3px solid #9cb5b6;margin:45px 0 0;padding-left:22px}
@media(max-width:760px){
.history-intro{display:block;margin-bottom:38px}
.history-intro h2{font-size:clamp(36px,7vw,48px);margin-bottom:20px}
.history-intro>p{max-width:640px;font-size:15px}
.history-item{grid-template-columns:125px minmax(0,1fr);gap:20px;padding:24px 0}
.history-date{font-size:12px;padding-top:8px}
.history-content{padding-left:22px}
.history-content h3{font-size:21px}
.history-outro{font-size:16px}
}
@media(max-width:480px){
.history-item{display:block;padding:23px 0}
.history-date{padding:0 0 15px 0;font-size:12px}
.history-content{margin-left:4px;padding-left:20px}
.history-content h3{font-size:21px}
.history-intro h2{font-size:38px}
}

:root {--paper:#f8f8f6;--white:#fff;--ink:#1c252a;--muted:#5d686c;--line:#dcdedc;--accent:#24556b;--dark:#18252b;--font:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Helvetica,Arial,sans-serif;}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:82px}
body{margin:0;font-family:var(--font);background:var(--paper);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased}
img{display:block;width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit}
a:focus-visible,button:focus-visible{outline:3px solid #2c7bc4;outline-offset:4px}
::selection{background:#bed5db;color:#112930}
.skip-link{position:absolute;top:-100px;left:12px;padding:10px 14px;z-index:100;background:white;color:black}.skip-link:focus{top:10px}
.container{width:min(1160px,calc(100% - 80px));margin-inline:auto}
h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{font-weight:600;letter-spacing:-.046em}
p{line-height:1.78}
.site-header{border-bottom:1px solid var(--line);background:rgba(248,248,246,.98)}
.header-inner{min-height:78px;display:flex;justify-content:space-between;align-items:center}
.wordmark{font-size:19px;font-weight:700;letter-spacing:-.045em;line-height:1.2}.wordmark-period{color:#457488}
.site-nav{display:flex;align-items:center;gap:37px}
.site-nav a{font-size:13px;font-weight:600;transition:color .15s ease}
.site-nav a:hover{color:var(--accent)}
.site-nav .nav-cta{padding:10px 17px;border:1px solid #73858c;display:inline-flex;gap:27px;align-items:center}
.site-nav .nav-cta:hover{background:var(--ink);color:white;border-color:var(--ink)}
.menu-toggle{display:none}
.hero{padding-top:105px;background:#f8f8f6}
.kicker,.section-topline,.label-small,.contact-kicker{font-size:11px;font-weight:700;letter-spacing:.125em;line-height:1.4;text-transform:uppercase}
.kicker{color:#466776;display:flex;gap:13px;align-items:center;margin-bottom:33px}
.kicker-line{width:27px;height:1px;background:#466776}
.hero h1{font-size:clamp(58px,7.6vw,107px);font-weight:600;line-height:1.055;max-width:1050px;letter-spacing:-.075em;margin-bottom:37px}
.accent{color:var(--accent)}
.hero-lower{display:flex;justify-content:space-between;align-items:flex-start;gap:60px;padding:0 0 62px}
.hero-lower p{font-size:19px;letter-spacing:-.012em;color:#4d5c61;max-width:665px;margin:0}
.hero-links{display:flex;flex-direction:column;align-items:flex-start;gap:14px;flex:0 0 auto;padding-top:8px}
.primary-link{display:flex;align-items:center;justify-content:space-between;gap:29px;min-width:205px;padding:13px 18px;background:var(--dark);color:#fff;font-size:13px;font-weight:600}
.primary-link:hover{background:#32576a}
.quiet-link{font-size:13px;font-weight:600;border-bottom:1px solid #93a3aa;padding:4px 0}
.quiet-link:hover{color:var(--accent)}
.hero-image{position:relative;margin:0;border-top:1px solid var(--line);padding-top:17px}
.hero-image img{height:410px;object-fit:cover;object-position:center 54%}
.hero-image figcaption{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:11px;color:#68757a;padding:12px 0 0}
.section-pad{padding:105px 0}
.section-topline{display:flex;justify-content:space-between;gap:18px;color:#5d7078;padding-bottom:15px;border-bottom:1px solid #cad0cf;margin-bottom:45px}
.section-topline span:first-child{color:#244e60}
.section-intro{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:end;margin-bottom:70px}
.section-intro h2,.approach-heading h2,.background-grid h2{font-size:clamp(40px,5vw,68px);line-height:1.12;margin:0}
.section-intro p{font-size:16px;color:var(--muted);max-width:420px;margin:0}
.work-section{background:#fff}
.case-study{padding-bottom:80px;margin-bottom:76px;border-bottom:1px solid #d8dddb}
.case-layout{display:grid;grid-template-columns:.95fr 1.05fr;gap:80px}
.case-main{min-width:0}
.project-photo{position:relative;margin:0;background:#eef1ee;overflow:hidden}
.project-photo img{width:100%;display:block;object-fit:cover}
.project-photo figcaption{font-size:11px;line-height:1.4;color:#637176;padding-top:9px}
.portrait-primary img{height:600px;object-position:center}
.case-content{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:20px 0}
.case-header{display:flex;align-items:center;gap:16px;font-size:11px;font-weight:700;letter-spacing:.08em;color:#5d727c;margin-bottom:24px}
.case-header .number{width:37px;height:37px;border:1px solid #bac6ca;display:grid;place-items:center;color:#2b5265;letter-spacing:0;font-size:12px}
.case-content h3,.wide-title h3{font-size:clamp(38px,5.2vw,66px);line-height:1.06;margin-bottom:22px;letter-spacing:-.058em}
.case-standfirst{font-weight:550;font-size:22px;line-height:1.4;letter-spacing:-.02em;margin-bottom:25px}
.case-content>p:not(.case-standfirst){font-size:15px;line-height:1.9;color:var(--muted);margin-bottom:24px}
.case-specs{border-top:1px solid var(--line);margin:5px 0 22px}
.case-specs>div{display:grid;grid-template-columns:122px 1fr;gap:12px;border-bottom:1px solid var(--line);padding:13px 0;font-size:12px}
.case-specs strong{font-size:12px;font-weight:650}
.case-specs span{color:#59686c}
.text-link{display:inline-flex;gap:22px;align-items:center;font-size:13px;font-weight:700;color:var(--accent);border-bottom:1px solid #adc0c8;padding:6px 0;align-self:flex-start}
.text-link:hover{color:#172f3d;border-bottom-color:#172f3d}
.case-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:24px}
.case-gallery img{height:310px;object-position:center 35%}
.case-study-landscape{padding-top:4px}
.wide-title{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;margin-bottom:30px}
.wide-title .case-standfirst{max-width:520px;font-size:21px;margin-bottom:0}
.wide-title>p{max-width:425px;font-size:15px;color:var(--muted);margin:10px 0}
.wide-photo img{height:460px;object-fit:cover;object-position:center}
.split-bottom{display:grid;grid-template-columns:1fr 1fr;gap:45px;margin-top:24px}
.split-bottom img{height:305px;object-fit:cover;object-position:center}
.project-note{padding:15px 5px 0 5px}
.label-small{color:#587381;margin-bottom:20px}
.project-note h4{font-size:26px;line-height:1.25;max-width:420px;margin-bottom:17px}
.project-note>p:not(.label-small){font-size:14px;color:var(--muted);line-height:1.8;max-width:430px}
.tag-list{display:flex;gap:8px;flex-wrap:wrap;margin-top:27px}
.tag-list span,.skills span{font-size:11px;padding:7px 10px;border:1px solid #ced5d7;color:#4f636b}
.selected-more{display:grid;grid-template-columns:.42fr .58fr;gap:80px}
.additional-head h3{font-size:35px;line-height:1.15;margin-bottom:20px}
.additional-head>p:not(.label-small){font-size:14px;color:var(--muted)}
.additional-list{border-top:1px solid var(--line)}
.additional-item{display:grid;grid-template-columns:32px 1fr auto;gap:13px;align-items:start;padding:23px 0;border-bottom:1px solid var(--line)}
.item-index{font-size:11px;color:#577382;font-weight:700;margin-top:5px}
.additional-item h4{font-size:20px;margin-bottom:5px;line-height:1.25}
.additional-item p{font-size:13px;line-height:1.75;color:var(--muted);margin-bottom:0;max-width:410px}
.item-type{font-size:10px;letter-spacing:.055em;color:#68777c;white-space:nowrap;margin-top:6px}
.disclosure{font-size:11px;color:#768287;line-height:1.7;max-width:870px;margin:45px 0 0}
.approach-section{background:#ebeeed}
.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:85px}
.approach-heading h2{margin:0 0 22px}
.approach-heading p{max-width:450px;font-size:17px;color:#58696d}
.approach-list{border-top:1px solid #c4cece}
.approach-list>div{display:grid;grid-template-columns:45px 1fr;gap:20px;border-bottom:1px solid #c4cece;padding:27px 0}
.approach-list>div>span{font-size:12px;color:#43677a;font-weight:700;padding-top:4px}
.approach-list h3{font-size:20px;margin-bottom:8px;line-height:1.35}
.approach-list p{font-size:14px;color:#5b6b70;line-height:1.8;max-width:450px;margin:0}
.background-section{background:#fff}
.background-grid{display:grid;grid-template-columns:1fr 1fr;gap:85px}
.background-grid h2{max-width:550px}
.background-grid p{font-size:15px;line-height:1.95;color:#5a696d}
.background-grid .large-paragraph{font-size:21px;line-height:1.6;color:#243640;font-weight:550;margin-bottom:26px;letter-spacing:-.015em}
.skills{display:flex;gap:8px;flex-wrap:wrap;margin-top:32px}
.contact-section{background:#1b2d35;color:#fff;padding:96px 0}
.contact-content{display:grid;grid-template-columns:1fr auto;gap:80px;align-items:end}
.contact-kicker{color:#adc4ca;margin-bottom:25px}
.contact-content h2{font-size:clamp(48px,6vw,77px);line-height:1.1;margin-bottom:22px}
.contact-content p:not(.contact-kicker){font-size:16px;color:#b4c6ca;max-width:540px;margin:0}
.contact-links{display:flex;flex-direction:column;gap:16px;min-width:245px}
.contact-links a{border-bottom:1px solid #61757d;padding:15px 0;display:flex;justify-content:space-between;gap:25px;font-size:14px;font-weight:650}
.contact-links a:hover{color:#c6e0e8;border-color:#c6e0e8}
.footer{background:#13242b;color:#a4b1b5}
.footer-inner{min-height:98px;display:flex;justify-content:space-between;align-items:center;gap:25px;font-size:12px}
.footer a{color:#e2eaea}
.footer a:hover{text-decoration:underline;text-underline-offset:3px}
@media(max-width:1024px){
.container{width:min(100% - 56px,1160px)}
.hero{padding-top:75px}
.hero h1{font-size:clamp(58px,8vw,88px)}
.case-layout{gap:45px}.portrait-primary img{height:540px}
.selected-more{gap:40px}
.approach-grid,.background-grid{gap:55px}
.item-type{max-width:90px;white-space:normal;text-align:right}
}
@media(max-width:760px){
.container{width:min(100% - 36px,650px)}
.header-inner{min-height:67px}
.wordmark{font-size:18px}
.menu-toggle{display:flex;width:41px;height:39px;border:1px solid #b5c0c4;background:transparent;justify-content:center;align-items:center;gap:5px;flex-direction:column;cursor:pointer}
.menu-toggle span{display:block;background:#1e333c;width:18px;height:2px}
.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(7px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-7px) rotate(-45deg)}
.site-nav{display:none;position:absolute;top:67px;left:0;right:0;z-index:20;background:#fff;border-bottom:1px solid var(--line);padding:22px 18px 26px;box-shadow:0 18px 26px #11273317;align-items:stretch;flex-direction:column;gap:20px}
.site-nav.is-open{display:flex}.site-nav a{font-size:16px}.site-nav .nav-cta{justify-content:space-between}
.hero{padding-top:64px}
.kicker{font-size:10px;margin-bottom:23px}
.hero h1{font-size:clamp(43px,9vw,71px);margin-bottom:26px}
.hero-lower{display:block;padding-bottom:40px}
.hero-lower p{font-size:17px;max-width:610px;margin-bottom:24px}
.hero-links{flex-direction:row;flex-wrap:wrap;align-items:center;gap:25px}
.hero-image img{height:270px}
.section-pad{padding:72px 0}
.section-topline{font-size:10px;margin-bottom:32px}
.section-intro{display:block;margin-bottom:45px}
.section-intro h2{font-size:43px;margin-bottom:20px}
.section-intro p{font-size:15px}
.case-layout{display:block}
.portrait-primary img{height:470px}
.case-content{padding:30px 0 5px}
.case-content h3,.wide-title h3{font-size:48px}
.case-standfirst{font-size:20px}
.case-study{padding-bottom:55px;margin-bottom:55px}
.case-gallery{gap:14px}
.case-gallery img{height:240px}
.wide-title{display:block;margin-bottom:24px}
.wide-title>p{max-width:none}
.wide-photo img{height:290px}
.split-bottom{gap:25px}
.split-bottom img{height:255px}
.project-note h4{font-size:22px}
.selected-more{display:block}
.additional-head{margin-bottom:32px}
.additional-head h3{font-size:31px}
.approach-grid,.background-grid{display:block}
.approach-heading,.background-grid>div:first-child{margin-bottom:45px}
.approach-heading h2,.background-grid h2{font-size:48px}
.contact-content{display:block}
.contact-links{max-width:385px;margin-top:34px}
.footer-inner{flex-wrap:wrap;justify-content:start;gap:18px 25px;padding-block:28px}
}
@media(max-width:480px){
.hero h1{font-size:clamp(41px,11vw,55px);letter-spacing:-.066em}
.hero-image img{height:218px}
.hero-image figcaption{align-items:start;flex-direction:column;gap:3px}
.hero-links{display:flex;align-items:center;gap:16px}
.section-topline span:last-child{max-width:135px;text-align:right}
.case-gallery{grid-template-columns:1fr;gap:25px}
.case-gallery img{height:330px}
.portrait-primary img{height:490px}
.case-specs>div{grid-template-columns:100px 1fr}
.case-content h3,.wide-title h3{font-size:42px}
.split-bottom{display:block}
.split-bottom img{height:255px}
.project-note{padding-top:30px}
.item-type{display:none}
.additional-item{grid-template-columns:28px 1fr}
.approach-heading h2,.background-grid h2{font-size:43px}
.contact-content h2{font-size:49px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}


/* 2026 multi-page portfolio components */
.site-nav a[aria-current="page"]{color:var(--accent);text-decoration:underline;text-decoration-color:#95b0b7;text-underline-offset:7px}
.sub-hero,.case-page-header{background:#f8f8f6;padding:85px 0 74px}
.sub-hero h1,.case-page-header h1{font-size:clamp(53px,7vw,93px);line-height:1.06;letter-spacing:-.068em;margin:0}
.sub-hero .kicker,.case-page-header .kicker{margin-bottom:32px}
.page-title-grid{display:grid;grid-template-columns:1.18fr .82fr;gap:60px;align-items:end}
.page-lede{font-size:18px;line-height:1.85;color:#54656d;max-width:500px;margin:0}
.asof{margin:20px 0 0;color:#607984;font-size:10px;font-weight:750;letter-spacing:.12em}
.pill-nav{display:flex;flex-wrap:wrap;gap:22px;margin-top:40px;border-top:1px solid #cfd6d6;padding-top:19px}
.pill-nav a{font-size:12px;font-weight:650;color:#24566b}
.pill-nav a:hover{text-decoration:underline;text-underline-offset:5px}
.soft-section{background:#edf0ee}
.category-intro{display:flex;align-items:end;justify-content:space-between;gap:70px;margin-bottom:43px}
.category-intro h2{font-size:clamp(37px,5vw,63px);line-height:1.13;margin:0}
.category-intro p{max-width:420px;color:#5b6c72;font-size:15px;margin:0}
.featured-work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
.feature-project{background:#fff;border:1px solid #e2e6e6;min-width:0}
.feature-project-wide{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}
.feature-visual{height:320px;position:relative;display:block;overflow:hidden;background:#eff1ee}
.feature-project-wide .feature-visual{height:100%;min-height:355px}
.feature-visual img{height:100%;width:100%;object-fit:cover;transition:transform .35s ease}
.feature-visual:hover img{transform:scale(1.025)}
.feature-visual .image-caption{position:absolute;left:19px;bottom:17px;color:white;background:#182f35de;padding:8px 11px;font-size:10px;font-weight:700;letter-spacing:.09em}
.feature-visual-type{background:#d9e5e5;padding:27px;display:flex;flex-direction:column;justify-content:space-between;color:#1e414d}
.feature-visual-type .design-label{font-size:10px;font-weight:700;letter-spacing:.14em}
.feature-visual-type strong{font-size:clamp(47px,5vw,75px);line-height:.94;letter-spacing:-.075em}
.feature-visual-type strong small{font-size:.48em;letter-spacing:-.06em}
.design-accent{color:#608d97}
.feature-visual-type .design-rule{display:block;width:39%;height:3px;background:#7da6ad}
.dark-type{background:#173a4a;color:#e5f2f2}
.dark-type .design-accent{color:#8fbab6}
.tech-type{background:#1a313d;color:#e8f0ef}
.tech-type .design-accent{color:#a1d2d5}
.feature-copy{padding:29px 30px}
.feature-copy h2{font-size:29px;line-height:1.17;margin:20px 0 15px}
.feature-copy h2 a:hover,.catalog-row h3 a:hover{color:#24667d}
.feature-copy>p{font-size:14px;line-height:1.78;color:#52646b;margin:0 0 22px}
.feature-copy .feature-disclaimer{font-size:11px;color:#77888d}
.project-meta-line{display:flex;flex-wrap:wrap;gap:13px;justify-content:space-between;font-size:10px;font-weight:750;letter-spacing:.08em;color:#677c84}
.catalog-list{border-top:1px solid #c9d4d3}
.catalog-row{display:grid;grid-template-columns:48px minmax(0,1fr) minmax(90px,160px);gap:23px;padding:26px 0;border-bottom:1px solid #ccd7d5}
.catalog-index{font-size:12px;font-weight:700;color:#557f8d;margin-top:4px}
.catalog-row h3{font-size:22px;line-height:1.35;margin-bottom:9px}
.catalog-row p{color:#5d6a70;font-size:14px;line-height:1.75;margin:0;max-width:720px}
.catalog-kind{font-size:11px;line-height:1.5;color:#64787c;text-align:right;padding-top:6px}
.next-section{padding:69px 0;background:#e5ebea}
.next-section-inner{display:flex;justify-content:space-between;align-items:end;gap:50px}
.next-section-inner h2{font-size:clamp(32px,4vw,48px);line-height:1.15;margin:0;max-width:680px}
.next-section-inner .primary-link{white-space:nowrap}
.compact-hero{padding-bottom:46px}
.compact-hero h1{font-size:clamp(47px,6.4vw,81px);margin-bottom:30px}
.compact-hero .page-lede{max-width:740px}

/* Resume */
.resume-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:26px}
.print-button{border:0;cursor:pointer;text-align:left}
.resume-page{background:#fff}
.resume-contact-strip{display:grid;grid-template-columns:1fr 1.1fr 1.4fr;gap:28px;border-top:1px solid #cad2d1;border-bottom:1px solid #cad2d1;padding:22px 0}
.resume-contact-strip>div{display:flex;flex-direction:column;gap:4px;min-width:0}
.resume-contact-strip>div>span{font-size:10px;letter-spacing:.13em;color:#68818a;font-weight:700}
.resume-contact-strip strong,.resume-contact-strip a{font-weight:650;font-size:14px;overflow-wrap:anywhere}
.resume-contact-strip a:hover{text-decoration:underline}
.resume-introduction,.resume-block{display:grid;grid-template-columns:220px 1fr;gap:60px;padding:57px 0;border-bottom:1px solid #d6dedc}
.resume-rail-label{font-size:11px;color:#496a77;font-weight:750;letter-spacing:.08em;padding-top:9px;line-height:1.7}
.resume-introduction h2,.resume-body>h2{font-size:clamp(31px,4vw,43px);line-height:1.18;margin:0 0 25px}
.resume-introduction p{font-size:15px;color:#55686c;line-height:1.9;max-width:750px}
.resume-job{padding:23px 0 26px;border-top:1px solid #e0e5e4}
.resume-job-heading{display:flex;justify-content:space-between;align-items:start;gap:20px}
.resume-job-heading h3{font-size:21px;margin-bottom:4px}
.resume-job-heading p{font-size:13px;font-weight:650;color:#56727d;margin:0}
.resume-job-heading time{font-size:12px;font-weight:600;color:#6c7c82;white-space:nowrap;padding-top:4px}
.resume-job ul{margin:16px 0 0;padding-left:20px}
.resume-job li{font-size:13px;line-height:1.78;color:#56676b;margin-bottom:8px}
.skill-groups{display:grid;grid-template-columns:1fr 1fr;gap:20px 33px}
.skill-groups>div{border-top:1px solid #dfe6e4;padding-top:16px}
.skill-groups h3{font-size:16px;margin:0 0 8px}
.skill-groups p{font-size:13px;line-height:1.8;color:#617176;margin:0}
.qualification{display:flex;justify-content:space-between;gap:30px;border-top:1px solid #e0e6e4;padding:22px 0}
.qualification h3{font-size:19px;margin:0 0 5px}
.qualification p{margin:0;font-size:14px;color:#617176}
.qualification>span{font-size:11px;white-space:nowrap;color:#53717b;font-weight:700}
.resume-footnote{font-size:11px;color:#798488;line-height:1.7}
.resume-bottom{display:flex;justify-content:space-between;align-items:center;gap:35px;padding:37px 0 0}
.resume-bottom p{font-size:12px;line-height:1.75;color:#728085;max-width:750px;margin:0}

/* About + contact */
.story-layout{display:grid;grid-template-columns:1fr 1fr;gap:90px;margin-bottom:55px}
.story-layout h2{font-size:clamp(38px,4.5vw,58px);line-height:1.15}
.story-prose p{font-size:16px;color:#576971;line-height:1.94}
.about-link-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.section-link-card{border:1px solid #d5dedd;padding:26px;min-height:230px;display:flex;flex-direction:column;gap:17px;transition:background .2s ease}
.section-link-card:hover{background:#edf3f1}
.section-link-card>span:first-child{font-size:10px;color:#5d7580;font-weight:700;letter-spacing:.12em}
.section-link-card strong{font-size:24px;line-height:1.2;letter-spacing:-.035em}
.link-arrow{margin-top:auto;align-self:end;font-size:23px;color:#285d70}
.practice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.practice-grid article{border-top:1px solid #cbd6d5;padding-top:20px}
.practice-grid article>span{font-size:11px;color:#557585}
.practice-grid h3{font-size:23px;margin:26px 0 11px}
.practice-grid p{font-size:14px;color:#5c6e73}
.contact-methods{border-top:1px solid #d4dcdc}
.contact-methods a{display:grid;grid-template-columns:140px minmax(0,1fr) 35px;align-items:center;column-gap:20px;padding:29px 0;border-bottom:1px solid #d4dcdc;min-width:0}
.contact-methods a>span:first-child{font-size:11px;letter-spacing:.1em;color:#527887;font-weight:700}
.contact-methods strong{font-size:clamp(19px,3vw,31px);line-height:1.3;letter-spacing:-.04em;overflow-wrap:anywhere}
.contact-methods a:hover strong{color:#32748b}
.contact-method-arrow{font-size:24px}
.contact-methods small{grid-column:2;font-size:12px;color:#6a797e}
.contact-postscript{margin-top:57px;border-left:3px solid #8daab3;padding-left:20px}
.contact-postscript p{font-size:14px;color:#5d6a70;margin:4px 0}

/* Project case studies */
.breadcrumb{display:flex;align-items:center;gap:14px;font-size:12px;color:#67808b;margin-bottom:46px}
.breadcrumb a:hover{color:#24566b;text-decoration:underline}
.case-page-header .page-title-grid h1{max-width:830px}
.research-banner{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;border-top:1px solid #ccd5d2;border-bottom:1px solid #ccd5d2;padding:23px 0;margin-top:48px}
.research-banner>div{display:flex;flex-direction:column;gap:8px}
.research-banner span{font-size:10px;letter-spacing:.1em;font-weight:700;color:#607781}
.research-banner strong{font-size:13px;line-height:1.65;font-weight:600}
.case-page-body{display:grid;grid-template-columns:230px 1fr;gap:85px}
.case-facts{align-self:start;position:sticky;top:25px}
.case-facts>p{font-size:11px;font-weight:700;letter-spacing:.1em;color:#416c7a;border-bottom:1px solid #d2dddc;padding-bottom:15px}
.case-facts>div{display:grid;gap:5px;border-bottom:1px solid #dbe3e0;padding:14px 0}
.case-facts strong{font-size:11px;color:#496977;font-weight:700}
.case-facts span{color:#65747a;font-size:12px;line-height:1.65}
.case-chapter{border-top:1px solid #d6dedd;padding:30px 0 35px;display:grid;grid-template-columns:145px minmax(0,1fr);gap:30px}
.case-chapter:last-child{border-bottom:1px solid #d6dedd}
.chapter-label{font-size:10px;letter-spacing:.08em;color:#557985;font-weight:700}
.case-chapter h2{font-size:clamp(26px,3vw,36px);line-height:1.17;margin-bottom:19px}
.case-chapter p,.case-chapter li{font-size:15px;line-height:1.9;color:#5d6c70}
.case-chapter p:last-child{margin-bottom:0}
.case-chapter ul{padding-left:22px}
.tech-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:23px 0}
.tech-stats>div{border-top:2px solid #547d8b;padding-top:15px}
.tech-stats strong{font-size:31px;letter-spacing:-.04em;display:block}
.tech-stats span{font-size:11px;line-height:1.6;color:#687b82;display:block}
.case-media-block{background:#e9edeb;padding:40px 0 0}
.case-page-visual{max-width:800px;margin:0 auto}
.case-page-visual img{height:460px;width:100%;object-fit:cover;object-position:center}
.case-page-visual figcaption,.case-photo-pair figcaption{font-size:11px;color:#5c6e73;padding:10px 0 20px}
.case-wide-visual{max-width:none}
.case-wide-visual img{height:410px}
.case-photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:30px}
.case-photo-pair figure{margin:0;min-width:0}
.case-photo-pair img{height:335px;width:100%;object-fit:cover}
.tech-type .design-rule{background:#7b9da8}

/* Homepage */
.home-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:27px}
.home-feature{background:#fff;border:1px solid #dfe6e5;min-width:0}
.home-feature-media{display:block;height:275px;overflow:hidden;background:#d5e2e2}
.home-feature-media img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.home-feature-media:hover img{transform:scale(1.025)}
.research-media,.infrastructure-media{display:flex;flex-direction:column;justify-content:space-between;padding:27px;background:#153747;color:#e6f3f3}
.infrastructure-media{background:#e0e9e7;color:#26454d}
.research-media>span:first-child,.infrastructure-media>span:first-child{font-size:10px;letter-spacing:.14em;font-weight:700}
.research-media strong,.infrastructure-media strong{font-size:clamp(43px,5vw,66px);font-weight:650;line-height:.95;letter-spacing:-.06em}
.accent-dot{color:#8bbfc4}
.research-caption{font-size:10px;letter-spacing:.13em;color:inherit;opacity:.8}
.home-feature-copy{padding:25px 28px 30px}
.home-feature-copy h3{font-size:27px;line-height:1.2;margin-bottom:13px}
.home-feature-copy h3 a:hover{color:#2b7385}
.home-feature-copy>p:not(.label-small){font-size:14px;color:#627176;margin-bottom:21px}
.landing-more-link{display:flex;justify-content:center;margin-top:40px}
.landing-career{display:grid;grid-template-columns:1fr 1fr;gap:65px}
.landing-career h2{font-size:clamp(38px,5vw,63px);line-height:1.17}
.landing-career>div>p{font-size:16px;color:#56686f;margin-bottom:25px}
.career-highlights{display:flex;gap:32px;margin:27px 0}
.career-highlights>div{border-top:2px solid #628e99;padding-top:14px;flex:1}
.career-highlights strong{display:block;font-size:26px;line-height:1.3;letter-spacing:-.03em}
.career-highlights span{display:block;color:#62747b;font-size:12px}
.home-destination-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.destination-card{display:flex;flex-direction:column;padding:29px;border:1px solid #d7dfdf;min-height:313px}
.destination-card:hover{background:#eef4f3}
.destination-card>span:first-child{font-size:10px;letter-spacing:.1em;font-weight:700;color:#567480}
.destination-card h2{font-size:32px;line-height:1.2;margin:24px 0 12px}
.destination-card p{font-size:13px;color:#607076}
.destination-card b{margin-top:auto;font-size:12px;display:flex;align-items:center;justify-content:space-between}
@media(max-width:1000px){
.site-nav{gap:19px}
.resume-introduction,.resume-block{grid-template-columns:170px 1fr;gap:32px}
.case-page-body{grid-template-columns:175px 1fr;gap:36px}
.case-chapter{grid-template-columns:110px 1fr;gap:18px}
}
@media(max-width:940px){
.menu-toggle{display:flex;width:41px;height:39px;border:1px solid #b5c0c4;background:transparent;justify-content:center;align-items:center;gap:5px;flex-direction:column;cursor:pointer}
.menu-toggle span{display:block;background:#1e333c;width:18px;height:2px}
.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(7px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-7px) rotate(-45deg)}
.site-nav{display:none;position:absolute;top:78px;left:0;right:0;z-index:20;background:#fff;border-bottom:1px solid var(--line);padding:22px 28px 26px;box-shadow:0 18px 26px #11273317;align-items:stretch;flex-direction:column;gap:20px}
.site-nav.is-open{display:flex}.site-nav a{font-size:16px}.site-nav .nav-cta{justify-content:space-between}
}
@media(max-width:760px){
.site-nav{top:67px}
.page-title-grid,.history-intro,.landing-career,.story-layout,.case-page-body{display:block}
.sub-hero,.case-page-header{padding:60px 0 48px}
.sub-hero h1,.case-page-header h1{font-size:clamp(47px,8vw,72px);margin-bottom:23px}
.page-lede{font-size:16px}
.category-intro{display:block}.category-intro h2{margin-bottom:20px}
.feature-project-wide{grid-column:1;display:block}
.feature-project-wide .feature-visual{min-height:0;height:305px}
.featured-work-grid,.home-feature-grid{grid-template-columns:1fr}
.feature-visual{height:300px}
.next-section-inner{display:block}.next-section-inner h2{margin-bottom:26px}
.resume-contact-strip{grid-template-columns:1fr;gap:18px}
.resume-introduction,.resume-block{padding:35px 0}
.resume-rail-label{margin-bottom:16px}
.resume-job-heading{display:block}.resume-job-heading time{display:block;margin-top:10px}
.skill-groups,.about-link-grid,.practice-grid{grid-template-columns:1fr}
.qualification{display:block}.qualification>span{display:block;margin-top:10px}
.resume-bottom{display:block}.resume-bottom .text-link{margin-top:20px}
.story-layout>div:first-child{margin-bottom:28px}
.case-facts{position:static;display:grid;grid-template-columns:1fr 1fr;gap:0 20px;margin-bottom:46px}
.case-facts>p{grid-column:1/-1}
.research-banner{grid-template-columns:1fr;gap:15px}
.case-chapter{display:block}
.chapter-label{display:block;margin-bottom:16px}
.case-photo-pair img{height:255px}
.tech-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
.contact-methods a{grid-template-columns:1fr 25px;row-gap:8px}
.contact-methods a>span:first-child,.contact-methods strong,.contact-methods small{grid-column:1}
.contact-method-arrow{grid-column:2;grid-row:2}
.landing-career>div:first-child{margin-bottom:28px}
.home-destination-grid{grid-template-columns:1fr}
.destination-card{min-height:220px}
}
@media(max-width:480px){
.sub-hero h1,.case-page-header h1{font-size:clamp(42px,11vw,55px)}
.catalog-row{grid-template-columns:28px 1fr;gap:12px}
.catalog-kind{grid-column:2;text-align:left;padding:0}
.case-facts{display:block}
.case-page-visual img{height:360px}
.case-wide-visual img{height:240px}
.case-photo-pair{grid-template-columns:1fr}
.case-photo-pair img{height:305px}
.tech-stats{display:block}.tech-stats>div{margin-bottom:18px}
.contact-methods strong{font-size:20px}
.career-highlights{gap:14px}
}
@media print{
.site-header,.site-nav,.menu-toggle,.footer,.next-section,.resume-actions,.resume-bottom .text-link{display:none!important}
body{background:#fff;color:#000;font-size:12px}
.container{width:100%;max-width:none}
.sub-hero{padding:12px 0}
.sub-hero h1{font-size:37px}
.section-pad{padding:12px 0}
.resume-introduction,.resume-block{display:block;padding:15px 0;break-inside:avoid}
.resume-contact-strip{display:flex;gap:35px;padding:10px 0}
.resume-job{padding:12px 0;break-inside:avoid}
.resume-job li{font-size:11px;line-height:1.4}
.resume-job ul{margin-top:9px}
.resume-body>h2{font-size:24px;margin-bottom:10px}
.resume-rail-label{margin:0 0 7px}
a{color:inherit;text-decoration:none}
}


/* 2026 professional technology palette
   Midnight #0B1728 · Slate #172234 · Cobalt #155EA8
   Cyan #95DFF0 · Cloud #F6F8FC · White #FFFFFF
   Text and link colors chosen for legible contrast on their primary surfaces. */
:root{
  --paper:#F6F8FC;
  --white:#FFFFFF;
  --ink:#172234;
  --muted:#526477;
  --line:#D7E1E9;
  --accent:#155EA8;
  --dark:#0B1728;
  --cyan:#95DFF0;
  --surface-soft:#EDF3F8;
  --font:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
}
html{scroll-padding-top:90px}
body{background:var(--paper);color:var(--ink);font-weight:400}
p{color:var(--muted)}
a{text-underline-offset:4px}
.site-header{background:#FFFFFFF7;border-bottom:1px solid var(--line);position:relative;z-index:30}
.header-inner{min-height:76px}
.wordmark{font-size:19px;letter-spacing:-.05em;color:#0B1728}
.wordmark-period{color:#155EA8}
.site-nav a{color:#33465A}
.site-nav a:hover,.site-nav a[aria-current="page"]{color:#155EA8}
.site-nav a[aria-current="page"]{text-decoration-color:#155EA8}
.site-nav .nav-cta{background:#0B1728;border-color:#0B1728;color:#FFF;border-radius:5px;padding:10px 16px}
.site-nav .nav-cta:hover{background:#155EA8;color:white;border-color:#155EA8}
.menu-toggle{border-radius:5px}
.menu-toggle span{background:#0B1728}
.kicker,.section-topline,.label-small,.contact-kicker{letter-spacing:.12em}
.kicker,.label-small,.section-topline span:first-child{color:#155EA8}
.kicker-line{background:#155EA8}
.hero,.sub-hero,.case-page-header{background:#F6F8FC}
.hero{padding-top:79px}
.hero h1{font-size:clamp(50px,6.2vw,85px);line-height:1.09;letter-spacing:-.065em;max-width:1000px}
.hero-lower p{color:#43566B;font-size:18px}
.accent{color:#155EA8}
.primary-link{border-radius:5px;background:#155EA8;color:#FFF;transition:background-color .16s ease,transform .16s ease}
.primary-link:hover{background:#0E467F;transform:translateY(-1px)}
.quiet-link{border-bottom-color:#AFC4D7;color:#244C70}
.hero-image{border-color:#D7E1E9}
.hero-image img{height:345px;object-position:center}
.hero-image figcaption{color:#53687A;font-weight:550}
.work-section,.background-section,.resume-page,.landing-work,.landing-links{background:#FFFFFF}
.soft-section,.approach-section{background:#EDF3F8}
.section-topline{border-bottom:1px solid #CBD9E4;color:#62758A}
.section-topline span:first-child{color:#155EA8}
.section-intro h2,.approach-heading h2,.background-grid h2,.landing-career h2,.story-layout h2{letter-spacing:-.055em}
.case-study,.case-gallery,.case-layout{border-color:var(--line)}
.project-photo{background:#E9F0F5}
.project-photo figcaption,.case-page-visual figcaption,.case-photo-pair figcaption{color:#596D80}
.section-intro p,.project-note>p:not(.label-small),.background-grid p,.case-content>p:not(.case-standfirst){color:#526477}
.case-header,.item-index,.chapter-label,.case-facts strong,.catalog-index{color:#155EA8}
.case-specs,.case-specs>div,.approach-list,.approach-list>div,.additional-item,.additional-list{border-color:var(--line)}
.text-link{color:#155EA8;border-bottom-color:#B7CDE0}
.text-link:hover{color:#0B477F;border-bottom-color:#0B477F}
.feature-project,.home-feature{border:1px solid #DCE4ED;border-radius:7px;overflow:hidden;box-shadow:0 10px 24px -23px #142C48}
.feature-copy,.home-feature-copy{background:#FFF}
.feature-copy h2,.home-feature-copy h3{letter-spacing:-.04em}
.feature-copy h2 a:hover,.home-feature-copy h3 a:hover,.catalog-row h3 a:hover{color:#155EA8}
.feature-visual-type{background:#E6F0F8;color:#153A60}
.feature-visual-type .design-label,.project-meta-line{color:#426781}
.feature-visual-type .design-rule{background:#155EA8}
.feature-visual-type .design-accent{color:#155EA8}
.dark-type,.tech-type,.research-media{background:#0B1728;color:#E7F4FF}
.tech-type .design-label,.research-media>span:first-child{color:#B0D9EA}
.tech-type .design-rule{background:#95DFF0}
.infrastructure-media{background:#DDEBF5;color:#123856}
.accent-dot{color:#57C7E6}
.research-media .research-caption{color:#B3D8E8}
.feature-visual .image-caption{background:#0B1728E6}
.catalog-list,.catalog-row,.resume-job,.resume-contact-strip,.resume-introduction,.resume-block,.qualification{border-color:#D7E1E9}
.catalog-kind,.item-type,.asof{color:#516A83}
.category-intro p,.catalog-row p{color:#526477}
.history-section{background:#EDF3F8}
.history-intro>p,.history-content p{color:#506579}
.history-timeline,.history-item{border-color:#CDDCE8}
.history-content{border-color:#B9CCDC}
.history-content::before{background:#155EA8;box-shadow:0 0 0 1px #155EA8;border-color:#EDF3F8}
.history-date,.history-type{color:#155EA8}
.history-outro{border-left-color:#155EA8;color:#304E6C}
.resume-rail-label,.resume-contact-strip>div>span,.resume-job-heading p,.qualification>span{color:#155EA8}
.resume-introduction p,.resume-job li,.skill-groups p,.qualification p,.resume-bottom p{color:#526477}
.case-facts>p,.case-facts>div,.case-chapter{border-color:#D7E1E9}
.case-chapter p,.case-chapter li{color:#526477}
.research-banner{background:#E8F0F8;border-color:#C7D8E6;padding:22px;border-radius:7px}
.research-banner span,.research-banner strong{color:#214A69}
.tech-stats>div{border-color:#155EA8}
.contact-section{background:#0B1728;color:#FFFFFF}
.contact-kicker{color:#95DFF0}
.contact-content p:not(.contact-kicker){color:#D3E2EF}
.contact-links a{border-color:#59758C;color:#F4F8FB}
.contact-links a:hover{color:#95DFF0;border-color:#95DFF0}
.footer{background:#070F1C;color:#CFDBE6}
.footer a{color:#D6E9F7}
.next-section{background:#E4EFF7}
.section-link-card,.destination-card{border:1px solid #D7E1E9;border-radius:6px;background:white}
.section-link-card:hover,.destination-card:hover{background:#F0F6FB;border-color:#A8C4DB}
.section-link-card>span:first-child,.destination-card>span:first-child{color:#155EA8}
.link-arrow{color:#155EA8}
.about-link-grid,.home-destination-grid{align-items:stretch}
.contact-methods a:hover strong{color:#155EA8}
.contact-postscript{border-left-color:#155EA8}
.practice-grid article{border-color:#C2D4E4}
.print-button{background:#155EA8}
@media(max-width:940px){
 .site-nav{background:#FFFFFF;top:76px;box-shadow:0 18px 24px -18px #0B172850;border-color:var(--line)}
 .site-nav a{color:#172234}
 .site-nav .nav-cta{color:#FFFFFF}
}
@media(max-width:760px){
 .hero{padding-top:52px}
 .hero h1{font-size:clamp(44px,8.4vw,63px);line-height:1.12}
 .hero-image img{height:260px}
 .site-nav{top:67px}
 .sub-hero,.case-page-header{padding:52px 0}
 .sub-hero h1,.case-page-header h1{font-size:clamp(43px,8vw,64px)}
 .hero-lower p{font-size:16px}
}
@media(max-width:480px){
 .hero h1{font-size:clamp(40px,11vw,53px)}
 .hero-image img{height:215px}
 .research-banner{padding:16px}
}
@media print{
 body,.resume-page{background:#FFFFFF;color:#172234}
 .site-header,.footer,.home-destination-grid{display:none!important}
 .resume-contact-strip,.resume-introduction,.resume-block{border-color:#D7E1E9}
}

/* Recruiter-friendly role highlights */
.career-roles{margin:20px 0 29px;border-top:1px solid #D7E1E9}
.career-roles>div{display:grid;grid-template-columns:105px minmax(0,1.2fr) minmax(0,1fr);gap:12px;padding:12px 0;border-bottom:1px solid #D7E1E9;align-items:start}
.career-roles>div>span:first-child{font-size:12px;font-weight:700;color:#155EA8;white-space:nowrap}
.career-roles strong{font-size:13px;font-weight:650;line-height:1.6}
.career-roles>div>span:last-child{font-size:12px;color:#526477;line-height:1.7}
@media(max-width:1024px){.career-roles>div{grid-template-columns:95px minmax(0,1fr)}.career-roles>div>span:last-child{grid-column:2}}
@media(max-width:480px){.career-roles>div{grid-template-columns:1fr;gap:3px}.career-roles>div>span:last-child{grid-column:auto}}

/* Above-the-fold professional introduction */
.hero-bio{margin:25px 0 26px;padding:21px 28px 20px;border-left:3px solid #155EA8;background:#EDF3F8;max-width:850px}
.hero-bio-title{font-size:12px;font-weight:750;letter-spacing:.055em;text-transform:uppercase;color:#155EA8;margin-bottom:12px;line-height:1.6}
.hero-bio h2{font-size:21px;letter-spacing:-.035em;margin:0 0 7px;color:#172234}
.hero-bio p:last-child{font-size:15px;line-height:1.78;color:#526477;margin:0}
.hero .hero-lower{margin-top:22px}
@media(max-width:760px){.hero-bio{margin:21px 0 17px;padding:18px 20px}.hero-bio-title{font-size:11px}.hero-bio p:last-child{font-size:14px}}


/* Professional portrait and compact RK navigation identity */
.site-header .brand-with-logo{
  display:inline-flex;
  align-items:center;
  gap:9px;
  font-size:17px;
  text-decoration:none;
  white-space:nowrap;
}
.site-header .brand-logo{
  display:block;
  width:27px;
  height:27px;
  flex:0 0 27px;
  object-fit:contain;
}
.home-hero-layout{
  display:grid;
  grid-template-columns:minmax(0,1.52fr) minmax(260px,.76fr);
  column-gap:clamp(28px,4.5vw,68px);
  align-items:center;
  padding-bottom:64px;
}
.home-hero-layout .hero-content{min-width:0}
.home-hero-layout h1{
  max-width:760px;
  font-size:clamp(52px,6vw,78px);
  margin-bottom:18px;
}
.home-hero-layout .hero-bio{
  margin-top:20px;
  margin-bottom:12px;
  max-width:760px;
}
.home-hero-layout .hero-lower{
  display:flex;
  flex-direction:column;
  gap:22px;
  margin-top:18px;
  padding:0;
  align-items:flex-start;
}
.home-hero-layout .hero-lower p{
  font-size:15px;
  max-width:640px;
  line-height:1.75;
}
.home-hero-layout .hero-links{
  display:flex;
  flex-direction:row;
  align-items:center;
  flex-wrap:wrap;
  gap:14px 24px;
  padding:0;
}
.hero-portrait{
  align-self:center;
  justify-self:end;
  width:100%;
  max-width:332px;
  padding:8px;
  margin:0;
  background:#FFFFFF;
  border:1px solid #D7E1E9;
  border-radius:10px;
  box-shadow:0 20px 55px -38px rgba(11,23,40,.52);
}
.hero-portrait img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:4/5;
  object-fit:cover;
  object-position:center 22%;
  border-radius:5px;
}
.hero-portrait figcaption{
  padding:12px 7px 5px;
  font-size:11px;
  letter-spacing:.015em;
  color:#526477;
}
.about-portrait{
  max-width:330px;
  margin:30px 0 0;
  padding:8px;
  border:1px solid #D7E1E9;
  border-radius:9px;
  background:white;
}
.about-portrait img{
  display:block;
  width:100%;
  aspect-ratio:4/5;
  height:auto;
  object-fit:cover;
  border-radius:4px;
}
.about-portrait figcaption{
  font-size:11px;
  padding:10px 4px 4px;
  color:#526477;
}
@media(max-width:960px){
  .home-hero-layout{
    grid-template-columns:minmax(0,1fr) 260px;
    gap:28px;
  }
  .home-hero-layout h1{font-size:clamp(47px,5.5vw,66px)}
}
@media(max-width:760px){
  .site-header .brand-logo{width:24px;height:24px;flex-basis:24px}
  .site-header .brand-with-logo{font-size:16px;gap:7px}
  .home-hero-layout{
    grid-template-columns:1fr;
    gap:28px;
    padding-bottom:42px;
  }
  .home-hero-layout .hero-content{grid-row:1}
  .home-hero-layout h1{font-size:clamp(46px,8.4vw,64px)}
  .home-hero-layout .hero-lower{display:flex;gap:20px}
  .home-hero-layout .hero-lower p{margin:0}
  .hero-portrait{
    grid-row:2;
    justify-self:start;
    width:min(100%,290px);
  }
  .about-portrait{max-width:290px}
}
@media(max-width:480px){
  .home-hero-layout h1{font-size:clamp(42px,11vw,54px)}
  .hero-portrait{width:min(100%,255px)}
  .about-portrait{max-width:255px}
}


/* Karlisyn: approved digital character artwork, no bedroom photography */
.karlisyn-cover-visual{background:#e8edf5;position:relative;overflow:hidden}
.karlisyn-cover-visual img{
 display:block;width:100%;height:100%;object-fit:cover;object-position:center 22%;
}
.karlisyn-home-photo{position:relative;background:#e8edf5;overflow:hidden}
.karlisyn-home-photo img{
 display:block;width:100%;height:100%;object-fit:cover;object-position:center 25%;
}
.home-photo-label{
 position:absolute;bottom:16px;left:16px;
 padding:8px 12px;border-radius:3px;
 color:#fff;background:#0b1728de;
 font-size:10px;font-weight:750;letter-spacing:.08em;
}
.karlisyn-portrait-section{background:#edf3f8;padding:50px 0 58px}
.karlisyn-portrait-layout{
 display:grid;grid-template-columns:minmax(0,370px) minmax(0,1fr);
 align-items:center;gap:clamp(35px,6vw,100px);
}
.karlisyn-featured-photo{
 margin:0;padding:8px;background:#fff;border:1px solid #d7e1e9;
 border-radius:9px;box-shadow:0 18px 45px -34px #0b172860;
}
.karlisyn-featured-photo img{
 display:block;width:100%;height:auto;aspect-ratio:4/5;
 object-fit:cover;object-position:center 18%;border-radius:5px;
}
.karlisyn-featured-photo figcaption{
 font-size:11px;color:#526477;padding:10px 7px 3px;
}
.karlisyn-portrait-copy{max-width:585px}
.karlisyn-portrait-copy h2{
 font-size:clamp(31px,4.1vw,53px);
 line-height:1.14;letter-spacing:-.055em;margin:17px 0 23px;
}
.karlisyn-portrait-copy p:not(.label-small){
 font-size:15px;line-height:1.9;color:#526477;margin:0 0 17px;
}
.karlisyn-gallery-section{background:#fff}
.karlisyn-gallery-heading{
 display:flex;justify-content:space-between;align-items:end;
 gap:45px;margin-bottom:33px;
}
.karlisyn-gallery-heading h2{
 font-size:clamp(31px,4vw,49px);
 line-height:1.15;letter-spacing:-.05em;max-width:560px;margin:0;
}
.karlisyn-gallery-heading p{
 font-size:14px;line-height:1.85;max-width:410px;
 color:#526477;margin:0;
}
.karlisyn-gallery-grid{
 display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;
}
.karlisyn-gallery-grid figure{
 margin:0;min-width:0;background:#f6f8fc;
 padding:7px;border:1px solid #d7e1e9;border-radius:6px;
}
.karlisyn-gallery-grid img{
 display:block;width:100%;height:auto;aspect-ratio:4/5;
 object-fit:cover;object-position:center 23%;border-radius:3px;
}
.karlisyn-gallery-grid figcaption{
 font-size:12px;color:#465d71;padding:12px 8px 5px;
 font-weight:650;
}
@media(max-width:760px){
 .karlisyn-portrait-section{padding:32px 0 43px}
 .karlisyn-portrait-layout{grid-template-columns:1fr;gap:26px}
 .karlisyn-featured-photo{max-width:340px}
 .karlisyn-gallery-heading{display:block}
 .karlisyn-gallery-heading h2{margin-bottom:15px}
 .karlisyn-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
}
@media(max-width:480px){
 .karlisyn-featured-photo{max-width:310px}
 .karlisyn-gallery-grid{grid-template-columns:1fr;gap:18px}
 .karlisyn-gallery-grid figure{max-width:420px}
}
@media(prefers-reduced-motion:reduce){
 .karlisyn-cover-visual img,.karlisyn-home-photo img{transition:none}
}


/* Featured portfolio cards: same dimensions for every current project */
.featured-work-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-auto-rows:1fr;
  align-items:stretch;
  gap:24px;
}
.featured-work-grid .feature-project,
.featured-work-grid .feature-project-wide{
  grid-column:auto;
  display:flex;
  flex-direction:column;
  height:100%;
  min-width:0;
}
.featured-work-grid .feature-visual{
  display:block;
  flex:0 0 250px;
  height:250px;
  min-height:0;
  width:100%;
  border-radius:0;
  overflow:hidden;
}
.featured-work-grid .feature-visual img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.featured-work-grid .karlisyn-cover-visual img{
  object-position:center 18%;
}
.featured-work-grid .feature-copy{
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  padding:26px 29px 29px;
}
.featured-work-grid .feature-copy .text-link{margin-top:auto;align-self:flex-start}
.featured-work-grid .feature-copy h2{font-size:27px;margin-top:15px}
.featured-work-grid .feature-copy p{margin-bottom:20px}
.featured-work-grid .feature-project-wide .feature-copy{min-width:0}
/* Boardwalk Stakes — original editorial treatment, not in-game photography */
.boardwalk-cover-visual,
.boardwalk-home-visual,
.boardwalk-art-direction{
  color:#FFF1CB;
  background:
    radial-gradient(ellipse at 68% 22%,rgba(218,161,53,.24),transparent 34%),
    linear-gradient(128deg,#0B1223 0%,#1C2445 48%,#342042 100%);
  border:1px solid rgba(213,164,79,.22);
  position:relative;
  isolation:isolate;
  overflow:hidden;
}
.boardwalk-cover-visual::after,
.boardwalk-home-visual::after,
.boardwalk-art-direction::after{
  position:absolute;
  content:"";
  z-index:-1;
  width:80%;height:86%;
  border:1px solid rgba(236,182,82,.19);
  right:-13%;bottom:-45%;
  transform:rotate(-13deg);
}
.featured-work-grid a.boardwalk-cover-visual{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:space-between;
  padding:26px 30px;
  text-decoration:none;
}
.boardwalk-card-kicker{
  font-size:10px;
  line-height:1.6;
  letter-spacing:.15em;
  font-weight:750;
  color:#F4D38C;
}
.boardwalk-card-title{
  display:block;
  font-size:clamp(43px,5vw,65px);
  line-height:.92;
  font-weight:750;
  letter-spacing:-.055em;
  text-transform:uppercase;
  color:#FFF1CC;
  text-shadow:0 2px 20px #0006;
}
.boardwalk-card-title span{color:#D2A84B}
.boardwalk-card-footer{
  color:#D5B36B;
  font-size:11px;
  letter-spacing:.1em;
  font-weight:650;
}
.home-feature-media.boardwalk-home-visual{
  height:275px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:25px 29px;
}
.boardwalk-project-hero{background:#F1F4F7;padding:30px 0 43px}
.boardwalk-art-direction{
  min-height:340px;
  padding:43px 45px 38px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  align-items:center;
  text-align:center;
  border-radius:8px;
}
.boardwalk-art-eyebrow,.boardwalk-art-note{
  font-size:11px;font-weight:700;letter-spacing:.16em;color:#F1DDA8;
}
.boardwalk-art-heading{
  color:#FFF4D9;
  font-size:clamp(56px,8vw,115px);
  text-transform:uppercase;
  line-height:.82;
  font-weight:800;
  letter-spacing:-.07em;
}
.boardwalk-art-heading span{color:#D5AE57}
.boardwalk-art-chips{font-size:27px;color:#D5AE57;display:flex;gap:24px}
.asset-disclosure{font-size:11px;color:#617286;line-height:1.7;margin:14px 0 0}
@media(max-width:760px){
 .featured-work-grid{grid-template-columns:1fr;gap:20px}
 .featured-work-grid .feature-visual{flex-basis:245px;height:245px}
 .featured-work-grid .feature-copy{padding:22px 23px 25px}
 .featured-work-grid .feature-copy h2{font-size:25px}
 .boardwalk-art-direction{min-height:285px;padding:35px 22px}
 .boardwalk-art-heading{font-size:clamp(46px,11vw,75px)}
}


/* Original Boardwalk Stakes Build 80 app icon */
.boardwalk-card-icon{
  position:absolute;
  right:22px;top:22px;
  display:block;
  width:64px;height:64px;
  object-fit:contain;
  border-radius:12px;
  box-shadow:0 9px 26px #07091775;
  border:1px solid rgba(244,211,140,.25);
}
.boardwalk-home-visual .boardwalk-card-kicker{padding-right:82px}
.boardwalk-cover-visual .boardwalk-card-kicker{padding-right:72px}
.boardwalk-art-direction .boardwalk-card-icon{width:66px;height:66px}
@media(max-width:480px){
 .boardwalk-card-icon{right:14px;top:14px;width:52px;height:52px}
 .boardwalk-cover-visual .boardwalk-card-kicker{padding-right:50px}
 .boardwalk-home-visual .boardwalk-card-kicker{padding-right:60px}
}
