:root {
  --profile-ink:#10261f;
  --profile-acid:#d8ff34;
  --profile-paper:#f5f2e9;
  --profile-muted:#65736c;
  --profile-line:#d5dbd2;
  --profile-soft:#e8eadf;
}

body { overflow-x:hidden; }
.profile-navigation { height:82px; }
.profile-hero { min-height:660px; display:grid; grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr); gap:clamp(56px,8vw,120px); align-items:center; padding-block:78px; }
.profile-hero h1 { max-width:none; margin-top:22px; font-size:clamp(66px,8vw,112px); }
.profile-role { margin:19px 0 0; color:#40534a; font-size:clamp(22px,2.4vw,32px); font-weight:750; letter-spacing:-.025em; }
.profile-tagline { max-width:810px; margin:24px 0 31px; color:var(--profile-muted); font-size:clamp(20px,2vw,26px); line-height:1.48; }
.profile-actions { display:flex; align-items:center; flex-wrap:wrap; gap:24px; }
.profile-actions .button { min-width:170px; }

.profile-portrait { width:min(100%,360px); margin:0; justify-self:end; align-self:center; overflow:hidden; border-radius:16px; background:#fff; }
.profile-portrait img { display:block; width:100%; height:auto; aspect-ratio:2/3; object-fit:cover; object-position:center top; }

.profile-premise { padding-block:96px; background:var(--profile-ink); color:#edf3ef; }
.profile-premise-grid { display:grid; grid-template-columns:.6fr 1.4fr; gap:72px; }
.profile-premise .section-label { color:#a6b5ad; }
.profile-premise h2 { max-width:890px; }
.profile-premise h2 i { color:var(--profile-acid); }
.profile-premise-grid>div>p { max-width:790px; margin:30px 0 0; color:#b8c5be; font-size:19px; line-height:1.68; }

.profile-story { padding:94px 0 112px; background:#ece9df; }
.profile-section-heading { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr); gap:72px; align-items:end; margin-bottom:70px; }
.profile-section-heading h2 { margin-top:24px; font-size:clamp(44px,4.8vw,68px); }
.profile-section-heading>p { max-width:540px; margin:0 0 4px; color:var(--profile-muted); font-size:17px; line-height:1.65; }
.profile-story-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(430px,.92fr); gap:clamp(44px,5vw,80px); align-items:start; }
.profile-story-copy { grid-column:1; grid-row:1; min-width:0; }
.profile-step { position:relative; min-height:66vh; padding:38px 0 82px 27px; border-left:2px solid #cbd1c7; scroll-margin-top:22vh; transition:border-color .22s ease,opacity .22s ease; }
.profile-step::before { content:""; position:absolute; top:47px; left:-7px; width:12px; height:12px; border:2px solid #ece9df; border-radius:50%; background:#a8b2aa; transition:background .22s ease,box-shadow .22s ease; }
.profile-step.is-active { border-left-color:#78901d; }
.profile-step.is-active::before { background:var(--profile-acid); box-shadow:0 0 0 6px #d8ff3445; }
.profile-step-number { margin:0 0 17px!important; color:#78877f!important; font-size:11px!important; font-weight:850; letter-spacing:.14em; }
.profile-step h3 { max-width:720px; margin:0 0 24px; color:var(--profile-ink); font-size:clamp(34px,3.6vw,52px); line-height:1.04; letter-spacing:-.04em; }
.profile-step>p:last-child { max-width:760px; margin:0; color:#3f5249; font-size:18px; line-height:1.76; }

.profile-atlas { position:sticky; grid-column:2; grid-row:1; top:18px; }
.profile-atlas-card { overflow:hidden; padding:10px; border-radius:18px; background:#0b1c16; box-shadow:0 24px 60px #142f2525; }
.profile-atlas-head { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:6px 7px 13px 9px; color:#c7d1cb; }
.profile-atlas-head>div { min-width:0; }
.profile-atlas-head strong { display:block; color:white; font-size:14px; }
.profile-atlas-head span { display:block; overflow:hidden; margin-top:4px; color:#91a198; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.profile-reset { flex:0 0 auto; min-height:36px; padding:0 12px; border:1px solid #52665c; border-radius:8px; background:#152b22; color:var(--profile-acid); font:750 11px Arial,"Helvetica Neue",Helvetica,sans-serif; cursor:pointer; }
.profile-reset:hover { background:#203b30; }
.profile-reset:focus-visible { outline:3px solid var(--profile-acid); outline-offset:2px; }
.profile-atlas-frame { display:block; width:100%; height:min(76vh,780px); min-height:590px; border:0; border-radius:11px; background:#10271f; }
.profile-atlas-fallback,.profile-atlas-noscript { margin:0; padding:48px 30px; border-radius:11px; background:#10271f; color:#dbe5df; font-size:15px; line-height:1.6; text-align:center; }
.profile-atlas-note { display:flex; justify-content:space-between; gap:12px; margin:10px 4px 2px; color:#87998f; font-size:10px; line-height:1.4; }
.profile-atlas-note span:last-child { text-align:right; }

.profile-build { padding-block:100px; background:var(--profile-paper); }
.profile-build-grid { display:grid; grid-template-columns:minmax(0,.78fr) minmax(440px,1.22fr); gap:80px; align-items:start; }
.profile-build h2 { margin-top:25px; }
.profile-project-card { padding:42px; border-radius:18px; background:var(--profile-ink); color:#edf3ef; box-shadow:0 25px 60px #16312820; }
.profile-project-meta { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:48px; color:#b2c0b8; font-size:11px; font-weight:800; letter-spacing:.13em; }
.profile-project-meta strong { padding:6px 10px; border:1px solid #78911f; border-radius:999px; color:var(--profile-acid); font-size:10px; }
.profile-project-card h3 { max-width:620px; margin:0; color:white; font-size:clamp(32px,3.4vw,48px); line-height:1.04; letter-spacing:-.035em; }
.profile-project-card p { max-width:650px; margin:25px 0 32px; color:#b8c5be; font-size:17px; line-height:1.65; }
.profile-project-card .button { background:var(--profile-acid); color:var(--profile-ink); }
.profile-project-card .button span { color:var(--profile-ink); }

.profile-collection { padding-block:96px; background:#e8eadf; }
.profile-collection.profile-media { background:var(--profile-paper); }
.profile-section-heading.compact { margin-bottom:50px; }
.profile-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.profile-content-card { display:flex; min-height:270px; flex-direction:column; padding:28px; border:1px solid #d1d7cd; border-radius:14px; background:white; }
.profile-content-card small { color:#7b8982; font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.profile-content-card h3 { margin:28px 0 14px; font-size:24px; line-height:1.15; }
.profile-content-card p { margin:0 0 24px; color:var(--profile-muted); font-size:15px; line-height:1.58; }
.profile-content-card a { margin-top:auto; color:#526b15; font-size:14px; font-weight:800; text-decoration:underline; text-underline-offset:4px; }

.profile-find { padding-block:92px; background:#dce9aa; }
.profile-find-grid { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:80px; align-items:start; }
.profile-find h2 { margin-top:24px; }
.profile-link-list { border-top:1px solid #a7b77e; }
.profile-link-list a { display:flex; align-items:center; justify-content:space-between; gap:22px; padding:21px 4px; border-bottom:1px solid #a7b77e; font-size:19px; font-weight:750; }
.profile-link-list a span { color:#53604f; font-size:13px; font-weight:650; }
.profile-link-list a:hover { padding-left:10px; }

a:focus-visible { outline:3px solid #668326; outline-offset:4px; border-radius:3px; }

@media (max-width:1000px) {
  .profile-hero { grid-template-columns:1fr; min-height:auto; }
  .profile-portrait { width:min(52vw,350px); justify-self:center; }
  .profile-premise-grid,.profile-section-heading,.profile-build-grid,.profile-find-grid { grid-template-columns:1fr; gap:38px; }
  .profile-story-grid { grid-template-columns:1fr; }
  .profile-story-copy { grid-column:1; grid-row:2; }
  .profile-atlas { z-index:8; grid-column:1; grid-row:1; top:0; margin-inline:-24px; padding:10px 24px; background:#ece9dff2; backdrop-filter:blur(10px); }
  .profile-atlas-frame { height:43vh; min-height:370px; }
  .profile-step { min-height:auto; padding-bottom:94px; scroll-margin-top:48vh; }
  .profile-card-grid { grid-template-columns:1fr 1fr; }
}

@media (max-width:700px) {
  .profile-navigation { height:72px; }
  .profile-hero { padding-block:56px 68px; }
  .profile-hero h1 { font-size:clamp(58px,18vw,82px); }
  .profile-role { font-size:22px; }
  .profile-tagline { font-size:19px; }
  .profile-actions { align-items:flex-start; flex-direction:column; }
  .profile-portrait { width:min(72vw,300px); justify-self:start; }
  .profile-premise,.profile-build,.profile-collection,.profile-find { padding-block:72px; }
  .profile-story { padding:64px 0 78px; }
  .profile-section-heading { margin-bottom:44px; }
  .profile-section-heading h2 { font-size:42px; }
  .profile-atlas { position:relative; top:auto; z-index:auto; margin-inline:-15px; padding:7px; background:transparent; backdrop-filter:none; }
  .profile-atlas-card { padding:7px; border-radius:12px; }
  .profile-atlas-head { padding-bottom:8px; }
  .profile-atlas-head strong { font-size:12px; }
  .profile-atlas-head span { max-width:190px; }
  .profile-reset { min-height:32px; padding-inline:9px; font-size:10px; }
  .profile-atlas-frame { height:min(57vh,480px); min-height:355px; border-radius:8px; }
  .profile-atlas-note { display:none; }
  .profile-step { padding:45px 0 76px 20px; scroll-margin-top:24px; }
  .profile-step::before { top:54px; }
  .profile-step h3 { font-size:35px; }
  .profile-step>p:last-child { font-size:17px; }
  .profile-build-grid { gap:42px; }
  .profile-project-card { padding:29px 24px; }
  .profile-project-meta { margin-bottom:36px; }
  .profile-card-grid { grid-template-columns:1fr; }
  .profile-content-card { min-height:0; }
}

@media (prefers-reduced-motion:reduce) {
  .profile-step,.profile-step::before { transition:none; }
  .profile-link-list a:hover { padding-left:4px; }
}
