:root{--ink:#173d34;--paper:#f7f5ee;--muted:#65756c;--line:#d9ddd2;--gold:#b87749}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 Arial,Helvetica,sans-serif}button,a,input,textarea{touch-action:manipulation}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;color:inherit}button,a,input,textarea{outline-offset:5px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--gold)}header{max-width:1400px;margin:auto;padding:27px 5%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:14px;font-size:12px;letter-spacing:1.6px;font-weight:bold}.brand small{display:block;font-size:9px;letter-spacing:2px;color:var(--muted);margin-top:3px}.monogram{font:34px Georgia;letter-spacing:-3px;position:relative}.monogram span{font:17px Arial;position:absolute;top:-3px;right:-10px}nav{display:flex;align-items:center;gap:34px;font-size:13px}nav .active{border-bottom:2px solid var(--ink);padding-bottom:5px}.nav-cta{border:1px solid #aab7ac;padding:10px 18px;border-radius:3px}.hero{max-width:1400px;margin:auto;display:grid;grid-template-columns:1.13fr 1fr;min-height:600px}.hero-copy{padding:75px 30px 30px 11%}.eyebrow{font-size:10px;letter-spacing:2.3px;font-weight:700}.dot{display:inline-block;width:7px;height:7px;background:var(--gold);border-radius:50%;margin-right:8px}h1,h2,h3,p{margin-top:0}h1{font:clamp(42px,4.6vw,70px)/1.08 Georgia,serif;letter-spacing:-2.8px;margin:30px 0 24px}h1 em{font-weight:normal;color:#68816b}p{color:var(--muted)}.hero p{font-size:16px;max-width:440px;line-height:1.8}.hero-actions{display:flex;align-items:center;gap:24px;margin:30px 0 55px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;border-radius:3px;padding:14px 20px;font-size:12px;font-weight:bold}.dark{background:var(--ink);color:white}.text-link{font-size:12px;border-bottom:1px solid #a2b1a2}.hero-foot{display:flex;gap:22px;font-size:8px;letter-spacing:1.7px;color:var(--muted)}.map-art{position:relative;overflow:hidden;min-height:540px}.map-art svg{position:absolute;width:100%;height:100%;object-fit:cover}.art-label{position:absolute;top:35px;left:35px}.art-label span{font-size:8px;letter-spacing:2px}.art-label strong{display:block;font:23px/1.25 Georgia;margin-top:15px}.section{max-width:1220px;margin:auto;padding:75px 35px}.section-top{display:flex;justify-content:space-between;align-items:end;margin-bottom:32px}.section-top p{font-size:13px;line-height:1.8;margin-bottom:5px}h2{font:40px/1.12 Georgia;letter-spacing:-1.2px;margin:16px 0 0}.timeline-box{border-top:1px solid var(--line);padding-top:25px}.timeline-heading{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.8px;align-items:center}.timeline-heading output{font:30px Georgia;letter-spacing:0;margin-left:10px}.range-wrap{position:relative;padding-top:34px}input[type=range]{width:100%;margin:0;appearance:none;height:3px;background:#bfcbbb;display:block;cursor:ew-resize;position:relative;z-index:2}input[type=range]::-webkit-slider-thumb{appearance:none;width:22px;height:28px;clip-path:polygon(50% 100%,0 60%,0 0,100% 0,100% 60%);background:var(--ink);border:4px solid var(--paper);transform:translateY(-12px)}input[type=range]::-moz-range-thumb{width:17px;height:24px;background:var(--ink);border:3px solid var(--paper);border-radius:2px}.marker{position:absolute;bottom:-4px;width:11px;height:11px;background:var(--paper);border:2px solid var(--gold);border-radius:50%;transform:translateX(-50%);z-index:3;padding:0}.years{display:flex;justify-content:space-between;margin-top:14px}.years button{padding:0;background:none;border:0;font-size:10px;color:var(--muted)}.story-card{margin-top:33px;display:grid;grid-template-columns:190px 1fr;background:white;border:1px solid var(--line);min-height:305px}.story-date{background:#e8ecdf;padding:30px}.story-date strong{display:block;font:44px Georgia;letter-spacing:-2px}.story-date span{display:block;font-size:9px;letter-spacing:1.5px;margin-top:10px}.story-content{padding:30px 36px}.story-content .org{font-size:10px;letter-spacing:1.3px;color:#7d694d;text-transform:uppercase}.story-content h3{font:29px Georgia;margin:8px 0 20px}.story-details{display:grid;grid-template-columns:1fr 1fr;gap:35px}.story-details h4{font-size:9px;letter-spacing:1.8px;margin:0 0 8px}.story-details p,.additional{font-size:13px;line-height:1.8;margin:0}.additional{margin-top:18px}.photo{margin:22px 0 0}.photo img{max-width:100%;max-height:350px;object-fit:contain}.photo figcaption{font-size:11px;color:var(--muted)}.browse{display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:.5px;margin-top:17px}.browse button{border:0;background:none;font-size:11px;padding:8px}.browse button:disabled{opacity:.35;cursor:default}.editorial-note{font-size:11px;margin:22px 0 0;max-width:800px}.approach{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1.5fr;gap:65px}.principles article{display:grid;grid-template-columns:30px 1fr;column-gap:12px;border-bottom:1px solid var(--line);padding:0 0 17px;margin-bottom:22px}.principles article:last-child{border:0;margin:0;padding:0}.principles article span{font-size:10px;color:var(--gold);grid-row:span 2;margin-top:3px}.principles h3{font:22px Georgia;margin:0 0 8px}.principles p{font-size:13px;margin:0}.interests{display:grid;grid-template-columns:1fr 1fr;gap:22px}.interests article{padding:35px;display:flex;gap:23px}.film{background:#e6eadd}.geology{background:#ede6da}.interest-symbol{font:55px Georgia;line-height:1}.interests h3{font:26px Georgia;margin:15px 0}.interests p{font-size:13px}.tag{display:inline-block;border:1px solid #b8c2b2;border-radius:20px;font-size:9px;padding:3px 9px;margin:5px 4px 0 0}.collaborate{text-align:center;background:var(--ink);color:var(--paper);padding:65px 20px 60px}.collaborate .eyebrow{color:#b4c5a7}.collaborate h2{font-size:46px}.collaborate p{color:#c5d0c4;font-size:14px;margin:22px 0}.light{background:var(--paper);color:var(--ink)}.collaborate small{display:block;font-size:10px;color:#b4c5a7;margin-top:15px}footer{display:flex;justify-content:space-between;gap:15px;max-width:1220px;margin:auto;padding:25px 35px;font-size:10px;color:var(--muted)}footer button{border:0;border-bottom:1px solid var(--line);background:none;font-size:10px}dialog{width:min(1400px,95vw);max-height:90vh;padding:35px;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:6px}dialog::backdrop{background:#102f29bb}.dialog-top{display:flex;justify-content:space-between;align-items:start}.dialog-top h2{font-size:32px}.dialog-top button{background:none;border:0;font-size:22px}dialog p{font-size:13px;max-width:900px}.dialog-top+p{margin-top:20px}.tools{display:flex;gap:9px;flex-wrap:wrap;margin:20px 0}.tools button,.file-button{border:1px solid #aabbac;background:white;border-radius:3px;padding:8px 12px;font-size:11px;cursor:pointer}.file-button input{display:none}.table-scroll{overflow:auto;max-height:48vh}table{border-collapse:collapse;font-size:12px;min-width:1650px;width:100%;background:white}caption{text-align:left;padding:10px;color:var(--muted)}th,td{text-align:left;vertical-align:top;padding:8px;border:1px solid var(--line)}th{background:#e6eadd;font-size:10px;position:sticky;top:0}td input,td textarea{width:100%;border:1px solid #c7d1c5;padding:8px;font:12px Arial;color:var(--ink);background:#fbfcf8;min-width:130px}td input[type=number]{min-width:75px}td textarea{min-height:90px;resize:vertical}td button{border:0;background:none;font-size:11px;color:#964b32}#editorStatus{margin:17px 0 0}button:hover,.button:hover{filter:brightness(.9)}@media(min-width:1450px){header{padding-left:70px;padding-right:70px}}@media(max-width:800px){header{padding:22px 6%}nav{gap:17px}nav a:nth-child(2){display:none}.brand{font-size:10px}.brand small{font-size:8px}.hero{grid-template-columns:1fr}.hero-copy{padding:50px 6% 30px}h1{font-size:53px}.hero p{max-width:530px}.hero-actions{margin-bottom:32px}.map-art{min-height:360px}.map-art svg{object-position:center}.section{padding:50px 6%}.section-top{display:block}.section-top p{margin-top:20px}h2{font-size:35px}.story-card{grid-template-columns:110px 1fr}.story-date{padding:25px 15px}.story-date strong{font-size:34px}.story-content{padding:25px}.story-details{grid-template-columns:1fr;gap:20px}.approach{grid-template-columns:1fr;gap:30px}.interests{grid-template-columns:1fr}.browse{align-items:start}.browse>div{display:flex;flex-direction:column;align-items:end}.collaborate h2{font-size:38px}footer{flex-wrap:wrap}footer>span:nth-child(2){display:none}dialog{padding:22px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.date-display{font-size:11px;color:var(--muted);margin-top:4px}.source-link{display:inline-block;font-size:10px;border-bottom:1px solid var(--line);margin-top:12px}table{min-width:1900px}

.chapter-choices{display:flex;gap:8px;flex-wrap:wrap;margin-top:25px}.chapter-choices:empty{display:none}.chapter-choices>span{width:100%;font-size:9px;letter-spacing:1.6px;color:var(--muted);margin-bottom:2px}.chapter-choices button{background:transparent;border:1px solid #acbaab;border-radius:4px;padding:7px 11px;font-size:11px;text-align:left}.chapter-choices button[aria-pressed=true]{background:var(--ink);color:var(--paper)}

/* Monochrome professional portrait in the introduction. */
.portrait-art{background:#dddcd7;isolation:isolate}
.portrait-art svg{display:none}
.hero-portrait{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 15%;filter:grayscale(1);z-index:-2}
.portrait-art::after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.72));z-index:-1;pointer-events:none}
.portrait-art .art-label{top:auto;bottom:32px;left:32px;color:#fff}
.portrait-art .art-label strong{font-size:27px;margin-top:8px}
@media(max-width:800px){.portrait-art{min-height:460px}.hero-portrait{object-position:center 15%}.portrait-art .art-label{left:6%;bottom:25px}}

.hero p.hero-tagline{font:italic 20px/1.5 Georgia,serif;color:var(--ink);max-width:460px;margin:24px 0 0;padding-left:16px;border-left:2px solid var(--gold)}

/* Employment boxes share one proportional year axis with the slider. */
.timeline-scroll{overflow-x:auto;overflow-y:hidden;padding:8px 7px 16px;margin:16px -7px 0;scrollbar-color:#98ab9a transparent;scrollbar-width:thin}
.timeline-track{min-width:1040px}
.employer-periods{position:relative;height:184px}
.employer-period{position:absolute;top:0;height:178px;border:1px solid #b9c5b7;border-radius:5px;background:#eeefe5;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:14px 8px;gap:9px;text-align:center;transition:background .15s;overflow:hidden}
.employer-period:nth-child(even){background:#e3e8dc}
.employer-period[aria-pressed=true]{border:2px solid var(--gold);background:#f0e6d7;box-shadow:inset 0 -4px var(--gold)}
.employer-period:hover{background:#e1e8dc;filter:none}
.employer-icon{height:56px;width:80px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.employer-icon img{max-width:100%;max-height:56px;object-fit:contain}
.logo-dark .employer-icon{background:var(--ink);padding:8px;border-radius:3px}
.law-wordmark{font:bold 30px Georgia;letter-spacing:1px;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);line-height:1.2}
.employer-name{font-size:12px;line-height:1.3;font-weight:bold;min-height:32px;display:flex;align-items:center;justify-content:center;max-width:160px}
.employer-dates{font-size:11px;line-height:1.3;white-space:nowrap;color:#57675d;font-variant-numeric:tabular-nums}
.range-wrap{padding-top:27px}
.timeline-hint{font-size:10px;margin:0;color:var(--muted)}
.years{position:relative;display:block;height:20px;margin-top:14px}
.years button{position:absolute;transform:translateX(-50%)}
.years button:nth-child(1){left:0;transform:none}.years button:nth-child(2){left:27.7778%}.years button:nth-child(3){left:55.5556%}.years button:nth-child(4){left:83.3333%}.years button:last-child{left:100%;transform:translateX(-100%)}
@media(prefers-reduced-motion:reduce){.employer-period{transition:none}}

/* Phone-sized career atlas: native expandable cards on a vertical year line. */
.mobile-timeline,.mobile-hint{display:none}
@media(max-width:1100px), (hover:none) and (pointer:coarse){
 .desktop-hint,.timeline-scroll,.timeline-heading label,#chapterChoices,#story,.career .browse{display:none}
 .mobile-hint{display:inline}
 .mobile-timeline{display:grid;gap:14px;position:relative;margin:24px 0 18px;padding-left:46px;min-width:0}
 .mobile-timeline::before{content:"";position:absolute;top:12px;bottom:12px;left:21px;width:2px;background:#bbc9b7}
 .mobile-chapter{position:relative;min-width:0;border:1px solid #b9c5b7;border-radius:7px;background:#eeefe5}
 .mobile-chapter::before{content:none}
 .mobile-chapter[open]{background:#fff;border-color:var(--gold)}
 .mobile-chapter summary{position:relative;display:flex;align-items:center;gap:12px;padding:16px 12px;cursor:pointer;list-style:none;min-height:152px}
 .mobile-chapter summary::-webkit-details-marker{display:none}
 .mobile-chapter summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
 .mobile-logo{display:flex;align-items:center;justify-content:center;width:54px;min-width:54px;height:54px}
 .mobile-logo img{max-width:100%;max-height:54px;object-fit:contain}
 .mobile-logo-dark{background:var(--ink);padding:6px;border-radius:3px}
 .mobile-chapter-label{display:grid;gap:3px;flex:1;min-width:0;overflow-wrap:anywhere;line-height:1.4}
 .mobile-date{position:absolute;left:-45px;top:50%;transform:translateY(-50%);writing-mode:vertical-rl;text-orientation:mixed;white-space:nowrap;font-size:18px;line-height:30px;letter-spacing:1px;color:#704722;font-weight:800;background:var(--paper);padding:6px 0;border-radius:4px}
 .mobile-chapter-label strong{font-size:14px}
 .mobile-role{font-size:11px;color:var(--muted)}
 .mobile-expand{font-size:22px;line-height:1;width:18px;flex-shrink:0}
 .mobile-chapter[open] .mobile-expand{font-size:0}
 .mobile-chapter[open] .mobile-expand::after{content:"−";font-size:22px}
 .mobile-chapter-body{padding:4px 18px 22px;border-top:1px solid var(--line);overflow-wrap:anywhere}
 .mobile-chapter-body h4{font-size:9px;letter-spacing:1.5px;margin:20px 0 8px}
 .mobile-chapter-body p{font-size:13px;line-height:1.8;margin-bottom:16px}
 .career,.timeline-box{min-width:0}
}

/* All chapters share one row; dates label overlapping career periods. */
.employer-periods{display:flex;align-items:stretch;gap:8px;height:auto;min-height:184px}
.employer-periods .employer-period{position:relative;left:auto;width:auto;top:auto;transform:none;flex:var(--period-years,1) 1 140px;min-width:140px;height:178px}
.employer-periods .career-origin{background:#fff;border-style:dashed}
.employer-periods .career-origin .employer-icon{height:64px;width:80px}
.employer-periods .career-origin .employer-icon img{max-height:64px}
.employer-periods .career-origin .employer-name{font-size:12px;min-height:32px}
.origin-story-logo{display:block;width:120px;max-width:100%;height:auto;margin:18px auto 12px}
@media(min-width:1101px) and (hover:hover){.timeline-track{min-width:1550px}}
.tribal-highlights{margin-top:24px;border:1px solid var(--line);border-radius:5px;background:var(--paper)}
.tribal-highlights>summary{cursor:pointer;padding:12px 16px;font-size:13px;font-weight:bold;display:flex;justify-content:space-between;gap:12px;list-style:none}
.tribal-highlights>summary::-webkit-details-marker{display:none}
.tribal-highlights>summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.tribal-highlights[open]>summary span{transform:rotate(180deg)}
.tribal-highlights .tribal-projects{padding:0 16px 16px}
.tribal-projects{margin-top:24px}
.tribal-projects>h4{font-size:10px;letter-spacing:1.5px}
.tribal-project{border-top:1px solid var(--line);padding-top:20px;margin-top:20px}
.tribal-project .project-date{display:block;font-size:11px;font-weight:bold;color:var(--muted);margin-bottom:6px}
.tribal-project .org{display:block;font-size:10px;color:#7d694d}
.tribal-project h5{font:22px/1.3 Georgia;margin:8px 0 18px}
.tribal-project h4{font-size:9px;letter-spacing:1.5px;margin:18px 0 8px}
.tribal-project p{font-size:13px;line-height:1.8}

/* Individually expandable Tribal project cards. */
.tribal-project{border:1px solid var(--line);border-radius:5px;background:white;padding:0;margin-top:12px;overflow:hidden}
.tribal-project>summary{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px;cursor:pointer;list-style:none}
.tribal-project>summary::-webkit-details-marker{display:none}
.tribal-project>summary:focus-visible{outline:3px solid var(--gold);outline-offset:-3px}
.project-heading{min-width:0}
.project-heading>strong{display:block;font:22px/1.3 Georgia;text-transform:capitalize}
.project-preview{display:block;font-size:13px;line-height:1.6;color:var(--muted);margin-top:7px}
.project-toggle{flex-shrink:0;font-size:23px;line-height:1;transition:transform .15s}
.tribal-project[open]>summary{border-bottom:1px solid var(--line)}
.tribal-project[open]>summary .project-toggle{transform:rotate(45deg)}
.project-body{padding:18px 16px}
.project-body p:last-child{margin-bottom:0}
td select{width:100%;min-width:180px;padding:8px;border:1px solid #c7d1c5;background:#fbfcf8;color:var(--ink);font:12px Arial}
@media(prefers-reduced-motion:reduce){.project-toggle{transition:none}}

.project-icon{display:flex;align-items:center;justify-content:center;flex:0 0 48px;height:48px;border:1px solid #d9ddd2;border-radius:12px;background:#e8ecdf;color:var(--ink)}
.project-icon svg{display:block;width:29px;height:29px}
.tribal-project>summary .project-heading{flex:1}
@media(max-width:480px){.tribal-project>summary{gap:11px;padding:14px}.project-icon{flex-basis:40px;height:40px;border-radius:10px}.project-icon svg{width:25px;height:25px}}

/* Keep temporarily hidden sections and their navigation out of every layout. */
[hidden]{display:none!important}

.principles .governance-details{grid-column:2;min-width:0}.governance-details ol{margin:14px 0 0;padding-left:20px;font-size:13px;line-height:1.8;color:var(--muted)}.governance-details li{padding-left:3px;margin-bottom:10px}.governance-details li:last-child{margin-bottom:0}.governance-details strong{color:var(--ink)}

/* Roadmap: independent, initially collapsed sections. */
.principles .roadmap-item{display:block;padding:0;margin:0 0 12px;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:transparent;transition:border-color .25s,background-color .25s,box-shadow .25s}
.principles .roadmap-item:last-child{padding:0;margin:0;border:1px solid var(--line)}
.principles .roadmap-item h3{margin:0;font:22px/1.3 Georgia,serif}
.roadmap-toggle{display:flex;align-items:center;gap:13px;width:100%;border:0;padding:18px;text-align:left;background:transparent;font:inherit;transition:background-color .25s,color .25s}
.roadmap-toggle:hover{background:#e8ecdf}
.roadmap-toggle:focus-visible{outline:3px solid var(--gold);outline-offset:-4px;border-radius:8px}
.principles .roadmap-toggle span{margin:0;grid-row:auto}
.principles .roadmap-number{font:10px Arial,sans-serif;color:var(--gold);flex:0 0 16px}
.principles .roadmap-icon{display:flex;align-items:center;justify-content:center;flex:0 0 40px;height:40px;border-radius:10px;background:#e8ecdf;color:var(--ink);transition:background-color .25s,color .25s}
.roadmap-icon svg{width:24px;height:24px}
.principles .roadmap-title{flex:1;min-width:0;font:inherit;color:inherit}
.principles .roadmap-indicator{flex:0 0 20px;text-align:center;font:26px/1 Arial,sans-serif;color:var(--gold);transition:transform .3s}
.principles .roadmap-item.is-open{border-color:#a7b8a7;background:#fff;box-shadow:0 3px 12px #173d3408}
.roadmap-toggle[aria-expanded="true"]{background:#e8ecdf}
.principles .roadmap-toggle[aria-expanded="true"] .roadmap-icon{background:var(--ink);color:var(--paper)}
.roadmap-toggle[aria-expanded="true"] .roadmap-indicator{transform:rotate(45deg)}
.roadmap-panel{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .3s ease,visibility .3s}
.is-open .roadmap-panel{grid-template-rows:1fr;visibility:visible}
.roadmap-clip{overflow:hidden;min-height:0}
.roadmap-content{padding:18px 22px 22px}
.principles .roadmap-content p{font-size:13px;margin:0;line-height:1.8}
@media(max-width:600px){.roadmap-toggle{padding:15px 12px;gap:10px}.principles .roadmap-title{font-size:19px}.principles .roadmap-number{flex-basis:14px}.principles .roadmap-icon{flex-basis:34px;height:34px}.roadmap-icon svg{width:21px;height:21px}.roadmap-content{padding:16px}}
@media(prefers-reduced-motion:reduce){.principles .roadmap-item,.roadmap-toggle,.principles .roadmap-icon,.principles .roadmap-indicator,.roadmap-panel{transition:none}}

/* Quiet, title-specific illustrations keep live text clear and readable. */
.section-title-card{position:relative;isolation:isolate;overflow:hidden;border:1px solid #d9ddd2;border-radius:12px;padding:25px 28px;background:#eef0e6;min-width:0}
.section-title-card .eyebrow,.section-title-card h2{position:relative;z-index:1}
.section-title-card .eyebrow{display:flex;align-items:center;gap:10px;line-height:1.7}
.section-title-icon{width:25px;height:25px;flex:0 0 25px;color:#8c623f}
.section-title-art{position:absolute;right:-20px;bottom:-12px;width:75%;height:100%;color:var(--ink);opacity:.09;pointer-events:none;z-index:0}
.journey-title{flex:0 1 540px;margin-right:30px;background:linear-gradient(100deg,#eef0e6,#f4f4eb)}
.roadmap-heading{align-self:start;background:linear-gradient(135deg,#f1ece1,#f7f5ee);padding:25px 24px}
.roadmap-heading .section-title-art{width:100%;height:70%;bottom:0;opacity:.08}
.roadmap-heading h2{font-size:38px}
.conversation-title{max-width:660px;margin:0 auto;background:#21473e;border-color:#496358;padding:26px}
.conversation-title .eyebrow{justify-content:center}
.conversation-title .section-title-icon{color:#d9bd94}
.conversation-title .section-title-art{color:#f7f5ee;opacity:.07;width:60%}
@media(max-width:800px){.journey-title{margin-right:0}.section-title-card{padding:22px}.section-title-card h2{font-size:34px}.section-title-art{width:65%}.roadmap-heading .section-title-art{width:70%;height:100%}.section-title-card .eyebrow{font-size:9px;letter-spacing:1.8px}.section-title-icon{width:23px;height:23px;flex-basis:23px}}
@media(max-width:380px){.section-title-card{padding:20px 16px}.section-title-card h2{font-size:31px}}

.career-highlight{margin-top:22px;padding:18px;border-left:3px solid var(--gold);background:#f1f3e9;border-radius:0 6px 6px 0}.career-highlight h4,.mobile-chapter-body .career-highlight h4{margin:0 0 9px;font-size:9px;letter-spacing:1.5px}.career-highlight p,.mobile-chapter-body .career-highlight p{font-size:13px;line-height:1.8;margin:0}.career-highlight .source-link{font-size:12px;margin-top:12px}

.career-highlight + .story-details{margin-top:22px}



.skills-section{padding-top:45px;padding-bottom:45px}.skills-section .skills-card{max-width:680px;margin:0 auto}.skills-section .skills-cloud{min-height:180px}.skills-section .skills-heading h2{font-size:24px}@media(max-width:600px){.skills-section .skills-cloud{min-height:220px}}

/* Profile-level recognition of university advisory service. */
.advisory-card{display:flex;align-items:flex-start;gap:14px;max-width:460px;margin-top:26px;padding:17px;border:1px solid #cbd5c5;border-left:3px solid var(--gold);border-radius:8px;background:#f0f2e8}.advisory-card>img{width:42px;height:48px;object-fit:contain;flex-shrink:0}.advisory-card>div{min-width:0}.advisory-card .eyebrow{font-size:9px;letter-spacing:1.5px}.advisory-card h2{font:20px/1.3 Georgia,serif;letter-spacing:0;margin:5px 0}.hero .advisory-card p{font-size:12px;line-height:1.65;margin:0 0 9px}.advisory-card a{display:inline-block;font-size:12px;line-height:1.5;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.advisory-section{padding-top:0;padding-bottom:45px}.advisory-section .advisory-card{max-width:100%;margin:0}.advisory-section .advisory-card p{font-size:13px;line-height:1.65;margin:0 0 9px}

.company-wordmark{font-size:12px;font-weight:800;color:var(--ink)}

/* Normalize university marks by their visible artwork, not canvas padding. */
.employer-icon img[src*="unc-charlotte-49ers"]{width:56px;height:56px;object-fit:cover}
.mobile-logo img[src*="unc-charlotte-49ers"]{width:54px;height:54px;object-fit:cover}
.origin-story-logo[src*="unc-charlotte-49ers"]{width:120px;height:120px;object-fit:cover}
.employer-icon img[src*="university-of-florida-transparent"]{width:56px;height:56px;object-fit:contain}
.mobile-logo img[src*="university-of-florida-transparent"]{width:54px;height:54px;object-fit:contain}

.employer-icon:has(img[src*="university-of-florida-transparent"]),.mobile-logo:has(img[src*="university-of-florida-transparent"]){overflow:hidden}
.employer-icon img[src*="university-of-florida-transparent"],.mobile-logo img[src*="university-of-florida-transparent"]{width:88px;max-width:none;height:54px;object-fit:contain;flex-shrink:0}
.story-summary h4{font-size:10px;letter-spacing:1.6px;text-transform:uppercase;margin:22px 0 10px}
.story-summary p{font-size:14px;line-height:1.9;max-width:850px}

/* Keep the first-programming photo at the shared timeline icon scale. */
.employer-periods .programming-origin .employer-icon{width:80px;height:56px}
.employer-periods .programming-origin .employer-icon img{width:56px;height:56px;max-height:56px;object-fit:contain}
.mobile-logo img[src*="first-programming-ti"]{width:54px;height:54px;object-fit:contain}

/* Monochrome composition: portrait left, unobstructed globe right. */
.hero{align-items:start}
.portrait-art{min-height:0;aspect-ratio:4/3;overflow:hidden;background:#050505;isolation:isolate}
.portrait-art::before{content:"";position:absolute;inset:0;background:url('assets/earth-florida-space.png') 99% top/47% auto no-repeat;filter:grayscale(1);z-index:-1}
.hero-portrait{position:absolute;inset:auto auto -15% -1%;width:49%;height:auto;object-fit:contain;filter:grayscale(1);z-index:0;clip-path:none}
.portrait-art::after{inset:76% 0 0;z-index:1;background:linear-gradient(transparent,rgba(0,0,0,.78))}
.portrait-art .art-label{z-index:2;bottom:5%;left:54%;right:3%;color:#fff}
.portrait-art .art-label span{font-size:clamp(7px,.65vw,10px);letter-spacing:1.4px;line-height:1.5;display:block}
.portrait-art .art-label strong{font-size:clamp(22px,2vw,32px);line-height:1.15;margin-top:9px}
@media(max-width:800px){.portrait-art{min-height:0;aspect-ratio:4/3}.portrait-art .art-label{bottom:5%;left:54%;right:3%}.portrait-art .art-label strong{font-size:clamp(18px,4.6vw,30px)}.portrait-art .art-label span{font-size:clamp(6px,1.6vw,10px);letter-spacing:1px}}

/* Give every timeline organization icon 25% more visual presence. */
.employer-icon,.mobile-logo{transform:scale(1.25);transform-origin:center}
.employer-periods .employer-period{height:198px;gap:16px}
.employer-periods{min-height:204px}
@media(max-width:800px){.mobile-logo{margin-inline:7px}.mobile-chapter summary{gap:14px}}

/* Connected task flow: icons are the controls; arrows express prerequisites. */
.approach{grid-template-columns:minmax(250px,.85fr) minmax(0,1.5fr);gap:24px 64px;align-items:start}
.roadmap-heading{grid-column:1;grid-row:1}
.roadmap-intro{grid-column:1;grid-row:2;font-size:14px;line-height:1.85}
.roadmap-intro p{margin:0 0 18px}.roadmap-intro .roadmap-kicker{font:italic 21px/1.4 Georgia,serif;color:var(--ink)}
.flow-instruction{font-size:12px;border-top:1px solid var(--line);padding-top:18px}
.process-flow{grid-column:2;grid-row:1 / span 3;list-style:none;padding:0;margin:0;min-width:0}
.process-flow .roadmap-item{position:relative;overflow:visible;border:0;border-radius:0;background:transparent;margin:0;padding:0 0 32px;box-shadow:none}
.process-flow .roadmap-item:last-child{border:0;margin:0;padding:0}
.process-flow .roadmap-item:not(:last-child)::after{content:"↓";position:absolute;top:76px;bottom:4px;left:30px;width:2px;background:var(--gold);color:var(--gold);display:flex;align-items:end;justify-content:center;font:22px/10px Arial;pointer-events:none}
.process-flow .roadmap-item h3{margin:0;font:22px/1.3 Georgia,serif}
.process-flow .roadmap-toggle{padding:8px 12px 8px 0;gap:20px;border-radius:12px}
.process-flow .roadmap-icon{position:relative;display:flex;align-items:center;justify-content:center;flex:0 0 62px;height:62px;border:1px solid #c2cebd;border-radius:50%;background:#e8ecdf;color:var(--ink);margin:0}
.process-flow .roadmap-icon svg{width:28px;height:28px}
.process-flow .flow-number{position:absolute;bottom:-4px;right:-4px;font:9px/21px Arial;color:var(--paper);background:var(--ink);border:2px solid var(--paper);border-radius:50%;width:25px;height:25px;text-align:center}
.process-flow .flow-label{display:block;flex:1;min-width:0;margin:0}
.process-flow .roadmap-title{display:block;font:22px/1.25 Georgia,serif;color:var(--ink);margin:0}
.process-flow .flow-dependency{display:block;font:12px/1.5 Arial,sans-serif;color:var(--muted);margin:7px 0 0}
.process-flow .roadmap-content{padding:14px 18px 20px;margin:5px 0 0 82px;border:1px solid var(--line);border-radius:10px;background:#fff}
.process-flow .roadmap-toggle[aria-expanded="true"]{background:#e8ecdf}
.process-flow .roadmap-toggle[aria-expanded="true"] .roadmap-icon{background:var(--ink);color:var(--paper)}
.process-flow .roadmap-content .flow-outcome{margin-top:15px;padding-top:12px;border-top:1px solid var(--line);color:var(--ink);font-size:12px}
.process-flow .roadmap-content ol{font-size:13px;line-height:1.8;padding-left:20px;color:var(--muted)}
.process-flow .roadmap-content li+li{margin-top:10px}
.flow-cycle{grid-column:1;grid-row:3;font-size:12px;line-height:1.8;padding:16px;border-left:2px solid var(--gold);background:#eef0e6;margin:0}
@media(max-width:800px){.approach{grid-template-columns:1fr;gap:24px}.roadmap-heading,.roadmap-intro,.process-flow,.flow-cycle{grid-column:1;grid-row:auto}.roadmap-intro p{max-width:650px}.process-flow .roadmap-title{font-size:21px}.process-flow .roadmap-toggle{gap:15px}.process-flow .roadmap-content{margin-left:77px}}
@media(max-width:420px){.process-flow .roadmap-icon{flex-basis:52px;height:52px}.process-flow .roadmap-item:not(:last-child)::after{left:25px;top:66px}.process-flow .roadmap-title{font-size:20px}.process-flow .roadmap-toggle{gap:13px}.process-flow .roadmap-content{margin-left:0}.process-flow .roadmap-item.is-open::after{background:none;top:auto;height:18px;bottom:5px}}

/* Increase only GISGov artwork by 20% from its restored size. */
.employer-icon img[src="assets/gisgov-logo.png"],.mobile-logo img[src="assets/gisgov-logo.png"]{transform:scale(1.2);transform-origin:center}

/* Location backdrops stay behind the existing logos and live text. */
.employer-periods .employer-period{isolation:isolate}
.employer-period::before,.mobile-chapter>summary::before,.story-card .story-date::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:var(--card-backdrop,none);background-size:cover;background-position:center;filter:grayscale(.9) sepia(.18);opacity:.2}
.employer-period::after,.mobile-chapter>summary::after,.story-card .story-date::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,#f7f5ee0a 10%,#f7f5ee99 70%,#f7f5eec7)}
.employer-period[data-id="programming-start"]::before{background-size:100% auto;background-repeat:no-repeat;opacity:.3}
.employer-period[data-id="uf-advisory"]::before{background-position:47% 45%;opacity:.25}
.employer-period[data-id="unc-charlotte-graduation"]::before{background-position:center;opacity:.25}
.story-card .story-date{position:relative;isolation:isolate}
.story-card .story-date::before{opacity:.16}
/* A restrained 49ers gold accent complements the miner photograph. */
.employer-period[data-id="unc-charlotte-graduation"],.mobile-chapter[data-id="unc-charlotte-graduation"]{border-color:#b5a06a}
.employer-period[data-id="unc-charlotte-graduation"]::before,.mobile-chapter[data-id="unc-charlotte-graduation"]>summary::before{filter:grayscale(.55) sepia(.4)}
.employer-period[data-id="unc-charlotte-graduation"]::after,.mobile-chapter[data-id="unc-charlotte-graduation"]>summary::after{background:linear-gradient(135deg,#dfbf692b 0%,#f7f5ee80 65%,#b89b4d30 100%)}
.backdrop-credits{margin-top:18px;max-width:950px;font-size:11px;color:var(--muted)}
.backdrop-credits summary{cursor:pointer;display:list-item;min-height:30px;padding:4px 0}
.backdrop-credits p{font-size:11px;line-height:1.8;margin:12px 0 0}
.backdrop-credits a{text-decoration:underline;text-underline-offset:2px}
@media(max-width:1100px),(hover:none) and (pointer:coarse){
 .mobile-chapter>summary{isolation:isolate;border-radius:6px}
 .mobile-chapter>summary::before{background-position:center;opacity:.22;border-radius:6px}
 .mobile-chapter[data-id="programming-start"]>summary::before{background-size:90% auto;background-repeat:no-repeat;opacity:.3}
 .mobile-chapter[data-id="uf-advisory"]>summary::before{background-position:center 44%;opacity:.25}
 .mobile-chapter[data-id="unc-charlotte-graduation"]>summary::before{opacity:.25}
 .mobile-chapter[open]>summary{background-color:#e8ecdf}
 .mobile-chapter>summary::after{border-radius:6px}
 .mobile-date{z-index:1}
}

/* Keep the Panthers jerseys recognizable behind the Sunrise labels. */
.employer-period[data-id="sunrise"]::before,.mobile-chapter[data-id="sunrise"]>summary::before{filter:grayscale(.15) saturate(.8);opacity:.32;background-position:center 36%}
.story-card[style*="florida-panthers-warmups"] .story-date::before{filter:grayscale(.15) saturate(.8);opacity:.24}

/* Department context follows the organization on career cards. */
.department-label{display:block;font-size:11px;line-height:1.4;color:#526759;margin-top:5px;letter-spacing:0;font-weight:normal}
.employer-period .department-label{font-size:9px;line-height:1.3;margin:4px 5px 0}
.story-content>.department-label{font-size:12px;margin:5px 0 9px}
.mobile-chapter-label .department-label{font-size:11px;margin:4px 0}

.employer-periods .employer-period{height:auto;min-height:220px;gap:9px}

/* Continue the stars across the full portrait composition. */
.portrait-art{background:#030405 url('assets/space-starfield.svg') center/cover no-repeat}
.portrait-art::before{inset:0 0 0 52%;background-position:center top;background-size:98% auto;-webkit-mask-image:linear-gradient(to right,transparent,#000 5%,#000 96%,transparent);mask-image:linear-gradient(to right,transparent,#000 5%,#000 96%,transparent)}

.gis-day-gallery{margin:22px 0;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.gis-day-gallery h4{font-size:10px;letter-spacing:1.5px;margin:0 0 9px}
.gis-day-gallery p{font-size:12px;line-height:1.7;margin:0 0 15px}
.gis-day-thumbnails{display:flex;flex-wrap:wrap;gap:14px}
.gis-day-thumbnail{width:116px;background:#fff;border:1px solid var(--line);border-radius:5px;padding:8px;display:flex;flex-direction:column;gap:8px;align-items:center}
.gis-day-thumbnail img{width:96px;height:116px;object-fit:contain}
.gis-day-thumbnail>span{font-size:10px;line-height:1.4}
.gis-day-thumbnail:hover{border-color:var(--gold);box-shadow:0 3px 12px #173d341a}
.gis-day-viewer{width:min(940px,94vw);max-height:94vh;padding:16px;border:1px solid var(--line);border-radius:7px;background:var(--paper);color:var(--ink)}
.gis-day-viewer::backdrop{background:#06150fe0}
.gis-day-viewer-bar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:12px}
.gis-day-viewer-bar button{border:1px solid var(--line);padding:9px 14px;background:#fff;border-radius:4px}
.gis-day-viewer>img{display:block;width:100%;max-height:76vh;object-fit:contain;background:#fff}
.gis-day-viewer>a{display:inline-block;margin-top:12px;font-size:12px;text-decoration:underline}

footer{flex-wrap:wrap}footer>.backdrop-credits{flex-basis:100%;max-width:none;margin-top:10px;text-align:left}footer>.backdrop-credits p{max-width:950px}
