@font-face{font-family:Schibsted Grotesk;src:url('./fonts/schibsted-400.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Schibsted Grotesk;src:url('./fonts/schibsted-500.ttf') format('truetype');font-weight:500;font-display:swap}
/* Golden proportion sets the spacing; it is not a visible mathematical diagram. */
.team-atmosphere{position:absolute;inset:0;z-index:8;opacity:0;visibility:hidden;background:#e7e5dc;overflow:hidden}
.team-atmosphere video{width:100%;height:100%;object-fit:cover;opacity:.13;position:absolute;inset:0}
.team-atmosphere::after{content:'';position:absolute;inset:0;background:linear-gradient(111deg,rgba(236,234,225,.96) 0%,rgba(236,234,225,.82) 38.2%,rgba(228,231,221,.72) 61.8%,rgba(224,229,219,.95) 100%)}
.team-atmosphere .light-field{position:absolute;inset:0;z-index:1;background:radial-gradient(ellipse at 61.8% 38.2%,rgba(249,247,235,.66),transparent 61.8%)}
/* The same portrait-first composition grows with both dimensions of the window. */
.team{--profile-width:min(clamp(200px,21.5vw,360px),max(120px,calc((100svh - 400px)*.75)));--team-width:min(clamp(600px,86vw,1280px),calc(var(--profile-width)*3.764));padding-top:10svh;gap:clamp(20px,3svh,36px)}
.team h2{width:100%;max-width:var(--team-width);margin-inline:auto;font-size:clamp(26px,min(calc(16px + 2.25vw),calc(10px + 4.3svh)),48px);letter-spacing:-.035em}
.team-grid{width:100%;max-width:var(--team-width);margin-inline:auto;display:grid;grid-template-columns:repeat(3,minmax(0,var(--profile-width)));justify-content:space-between;gap:clamp(22px,2vw,44px);align-items:start}
.team .person{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(16px,1.4vw,20px);align-items:start;min-width:0}
.team .portrait{height:auto;width:100%;aspect-ratio:3/4;box-shadow:0 14px 45px rgba(38,48,39,.05)}
.team .portrait img{object-fit:contain;border-radius:0}
.team .person p{width:100%;max-width:100%;padding-bottom:2px;overflow-wrap:anywhere}
.team .person .name{font-size:clamp(16px,min(calc(12px + 1vw),calc(1.5px + (100svh - 400px)*.07)),28px);line-height:1.17;letter-spacing:-.025em}
.team .name-ending{white-space:nowrap}
.team .country-flag{display:inline-block;width:auto;height:.64em;margin-left:.35em;vertical-align:.015em;transform:rotate(-3deg);filter:drop-shadow(0 .5px .6px rgba(32,46,38,.18))}
.team .person .role{font-size:clamp(12px,min(calc(9px + .73vw),calc(4px + (100svh - 400px)*.04)),18px);line-height:1.3;margin-top:8px;color:#4a5751}
.team .person .bio{font-size:clamp(12px,min(calc(9px + .73vw),calc(4px + (100svh - 400px)*.04)),18px);line-height:1.48;margin-top:12px;color:#546057;max-width:26ch}
.ethan-space{aspect-ratio:3/4;border-top:1px solid #bdc8bb;border-bottom:1px solid #c7cfc1;display:flex;align-items:center;justify-content:center;background:rgba(230,235,222,.25)}
.ethan-space span{font-size:clamp(38px,4vw,70px);font-weight:400;letter-spacing:-.065em;color:rgba(95,116,99,.30)}
.transition-film{position:absolute;inset:0;z-index:6;opacity:0;visibility:hidden;pointer-events:none}
.transition-film canvas{width:100%;height:100%;display:block;object-fit:cover}
.bar a{transition:color .18s linear}
@media(prefers-reduced-motion:reduce){.bar a{transition:none}}
.review-dock{position:fixed;z-index:30;bottom:18px;left:50%;transform:translateX(-50%);max-width:calc(100vw - 24px);color:#172c2b;background:rgba(247,246,239,.96);box-shadow:0 4px 24px #0001;border:1px solid #d6dcd4;padding:8px 10px;border-radius:6px;font:12px/1.4 var(--f);display:flex;align-items:center;gap:10px;white-space:nowrap}
.review-dock select,.review-dock button{font:inherit;border:1px solid #cdd5cc;background:transparent;color:inherit;border-radius:3px;padding:6px 8px}
.review-dock button[aria-pressed=true]{background:#dce8dd}
.review-dock input[type=range]{width:140px;accent-color:#31554b}
.review-dock [data-review-status]{max-width:190px;overflow:hidden;text-overflow:ellipsis;color:#657067}
.review-dock [data-review-close]{border:0}
@media(max-width:900px){
 .review-dock [data-review-status]{display:none}.review-dock input[type=range]{width:80px}
}
@media(max-width:480px){
 .team .person .name{font-size:16px;line-height:1.2}.team .person .role{font-size:12px}
 .team-grid{gap:22px}.team .person .bio{font-size:12px;line-height:1.4}
 .review-dock{gap:5px;font-size:11px;padding:6px}.review-dock input[type=range]{width:60px}
}
.photo-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.photo-plane{position:absolute;inset:0;pointer-events:none}
.sun-warmth{position:absolute;z-index:3;pointer-events:none;transform:translate(-50%,-50%);border-radius:50%;opacity:0;mix-blend-mode:multiply;background:radial-gradient(circle,rgba(255,167,76,.65),rgba(255,192,108,.25) 35%,transparent 70%)}
@media(orientation:portrait){[data-scene="goals"] .photo-background{object-position:64.2% center}}
@media(orientation:portrait){[data-scene="flock"] .photo-background{object-position:77% center}[data-scene="espalier"] .photo-background{object-position:32% center}}
.team .person-ethan .portrait img{object-fit:cover;object-position:72% center}

/* Native wheel, touch and keyboard scrolling remain available without a rail. */
html{scrollbar-width:none;overscroll-behavior-y:none}
html::-webkit-scrollbar,body::-webkit-scrollbar{display:none;width:0;height:0}
.scene-nav{position:fixed;right:max(20px,3vw);bottom:max(24px,env(safe-area-inset-bottom));z-index:20;display:grid;gap:3px}
.scene-nav button{display:grid;place-items:center;width:40px;height:36px;padding:0;border:0;border-radius:3px;color:var(--fg);background:transparent;cursor:pointer;opacity:.65;transition:opacity .18s,background .18s}
.scene-nav svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}
.scene-nav button:hover{opacity:1;background:rgba(128,145,132,.12)}
.scene-nav button:disabled{opacity:.16;cursor:default}
.scene-nav button:focus-visible{opacity:1;outline:1px solid currentColor;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.scene-nav button{transition:none}}

/* Restore the original close portrait framing using the full-resolution source. */
.team .person-arash .portrait{overflow:hidden}
.team .person-arash .portrait img{object-fit:cover;object-position:center center;transform:scale(2.38);transform-origin:49% 52%}
/* On narrow windows, native page scrolling reveals full-size portraits in order. */
@media(max-width:620px){
 .team{--profile-width:min(76vw,300px);--team-width:100%;padding-top:max(92px,10svh)}
 .team-grid{grid-template-columns:minmax(0,var(--profile-width));justify-content:center;gap:48px}
 .team .person .name{font-size:22px;line-height:1.2}
 .team .person .role,.team .person .bio{font-size:15px;line-height:1.45}
 .team .person .bio{max-width:30ch}
}

[data-team-scroll] .bar{background:linear-gradient(180deg,rgba(233,232,223,.99) 65%,rgba(233,232,223,0));padding-bottom:28px}
